Python海象運算符提出的時間是比較得我早的,所以對一些具體的用法,還是需要進行琢磨的,那么,它的用法教程到底是什么呢?具體的用法,下文給大家詳細的解答一下。
前言
大家好,我是閑歡,你們的老相識呀!
海象可謂是最大的哺乳動物了,有人稱它是北半球的“土著”居民。它圓頭,短而闊的嘴巴,粗大的鼻子,上犬齒形成長達40厘米-90厘米的獠牙,每只4公斤以上。雄海象體長可達4米,重2噸。海象喜群居,數千頭簇擁在一起。
海象兩眼瞇得像缺乏活力的老頭子,它們愛睡懶覺,一生中大多時間是躺在冰上度過的,還能在水里睡覺,真是牛出天際。
作為996的卷農,我非常羨慕它們的生活,好想跟他們一樣躺平。
好了,言歸正傳,咱們繼續卷吧!今天給大家帶來了一個以海象命名的運算符——海象運算符。
Python海象運算符是在PEP 572中提出,并在Python3.8版本并入和發布。
海象運算符的英文原名叫Assignment Expresions,即賦值表達式。海象表達式由一個:和一個=組成,即:=。我們一般稱作walrus operator(海象運算符),因為它看起來就是一個海象旋轉90°而成。作者還是很有想象力的,這都能聯系起來!
語法
海象運算符的語法格式是:
(variable_name:=expression)
這是一個新的賦值運算符,跟我們常見的=類似,一個變量名后面跟一個表達式。
用法
用于if-else條件表達式
常規寫法:
a=5 if a>1: print('do sth!')
升級寫法:
if a:=5>1: print('do sth!')
用于while循環
常規寫法:
n=3 while n: print('do sth!') n-=1
升級寫法:
n=3 while(n:=n-1)+1: print('do sth!')
這里加1是因為執行輸出前n就減1了。
讀取文件
常規寫法:
fp=open("test.txt","r") while True: line=fp.readline() if not line: break print(line.strip()) fp.close()
升級寫法:
fp=open("test.txt","r") while line:=fp.readline(): print(line.strip())
在合適的場景中使用海象運算符可以降低程序復雜性,簡化代碼,甚至可以提高程序的性能。
不適用場景
雖然海象運算符好用,但也不是所有場景都能用,還是有它的局限性的。
變量賦值
我們不能將=運算符與:=運算符一起使用,海象運算符只能是表達式的一部分:
a=5#Valid a:=5#InValid empty_list=[]#Valid empty_list:=[]#InValid
如果你這樣寫,編輯器會直接提示錯誤。
加減法
a+=5#Valid a:+=5#Invalid Lambda函數中的賦值表達式 (lambda:a:=5)#Invalid lambda:(a:=5)#Valid,but not useful (var:=lambda:5)#Valid
爭議
關鍵字
海象運算符使用:=這個關鍵字,是大多數開發人員都不太喜歡的,這個關鍵字跟我們平時接觸到的都不一樣,創造者獨辟蹊徑。
我也不太喜歡這個,但是也尊重創造者的規則,畢竟人家給大家帶來這么實用的運算符。
運算符名稱
一些開發人員認為“海象運算符”這個名稱太抽象了,不能清晰地表達出這個運算符的含義,幾乎百分之百的人第一次看到這個名稱,不會想到它的功能。
歡哥以為,既然沒有一套規定的命名方法,作者取個有意義的名字也無可厚非吧。
總結
從此以后,我們的武器庫中又多了一件常規武器,大家在打仗(卷別人)時,不要忘了使用,對程序的性能和代碼簡潔性都會有提升。
綜上所述,這篇文章就給大家介紹完畢,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128331.html
算法目前是比較火的一個領域了,其中,python作為算法的一種延伸,其應用范圍還是比較的廣泛的。那么,它其中有一個就是海象運算符,它的運算教程是什么呢?下面給大家一一的列舉,大家要仔細的閱讀哦。 前言 大家好,我是閑歡,你們的老相識呀! 海象可謂是最大的哺乳動物了,有人稱它是北半球的土著居民。它圓頭,短而闊的嘴巴,粗大的鼻子,上犬齒形成長達40厘米-90厘米的獠牙,每只4公斤以上。雄海象...
摘要:楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,。本文來源知乎作者路人甲鏈接楚江數據提供網站數據采集和爬蟲軟件定制開發服務,服務范圍涵蓋社交網絡電子商務分類信息學術研究等。 楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,http://www.chujiangdata.com。 第一:Python爬蟲學習系列教程(來源于某博主:htt...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02