Python海象運(yùn)算符代碼分析及知識(shí)點(diǎn)總結(jié)
1、在判斷條件下允許操作。在一定程度上簡(jiǎn)化了代碼,但降低了可讀性。
i = len((l := [1, 2, 3])) # 先對(duì)l進(jìn)行賦值,在對(duì)i賦值 while (i := i - 1) >= 0: # 允許在表達(dá)式中運(yùn)算 print(l[i], end=' ')
2、python中的海象操作符較少使用,允許在判斷中進(jìn)行簡(jiǎn)單的賦值操作,沒(méi)有其他特殊意義,只需了解其存在即可。
l = [1, 2, 3] i = len(l) - 1 while i >= 0: print(l[i], end=' ') i -= 1
知識(shí)點(diǎn)擴(kuò)充
語(yǔ)法
海象運(yùn)算符的語(yǔ)法格式是:
(variable_name := expression)
這是一個(gè)新的賦值運(yùn)算符,跟我們常見(jiàn)的 =
類(lèi)似,一個(gè)變量名后面跟一個(gè)表達(dá)式。
用于 if-else 條件表達(dá)式
常規(guī)寫(xiě)法:
a = 5 if a > 1: print('do sth!')
升級(jí)寫(xiě)法:
if a := 5 > 1: print('do sth!')
用于 while 循環(huán)
常規(guī)寫(xiě)法:
n = 3 while n: print('do sth!') n -= 1
升級(jí)寫(xiě)法:
n = 3 while (n := n - 1) + 1: print('do sth!')
這里加1是因?yàn)閳?zhí)行輸出前n就減1了。
讀取文件
常規(guī)寫(xiě)法:
fp = open("test.txt", "r") while True: line = fp.readline() if not line: break print(line.strip()) fp.close()
升級(jí)寫(xiě)法:
fp = open("test.txt", "r") while line := fp.readline(): print(line.strip())
在合適的場(chǎng)景中使用海象運(yùn)算符可以降低程序復(fù)雜性,簡(jiǎn)化代碼,甚至可以提高程序的性能。
到此這篇關(guān)于Python海象運(yùn)算符代碼分析及知識(shí)點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)Python海象運(yùn)算符的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python的Twisted框架構(gòu)建非阻塞下載程序的實(shí)例教程
Twisted的異步工作模式使其在非阻塞情況下可以擁有較高的性能,這里我們來(lái)看一下使用Python的Twisted框架構(gòu)建非阻塞下載程序的實(shí)例教程,包括服務(wù)器端與客戶端的實(shí)踐.2016-05-05Python 格式化輸出_String Formatting_控制小數(shù)點(diǎn)位數(shù)的實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于Python 格式化輸出_String Formatting_控制小數(shù)點(diǎn)位數(shù)的實(shí)例內(nèi)容,需要的朋友們參考下。2020-02-02Python實(shí)現(xiàn)判斷字符串中包含某個(gè)字符的判斷函數(shù)示例
這篇文章主要介紹了Python實(shí)現(xiàn)判斷字符串中包含某個(gè)字符的判斷函數(shù),涉及Python自定義函數(shù)中使用find方法針對(duì)字符串的簡(jiǎn)單判斷查找相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Python-with open() as f的用法及說(shuō)明
這篇文章主要介紹了Python-with open() as f的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Python利用treap實(shí)現(xiàn)雙索引的方法
所遍歷的元素一定是遞增(小堆)或是遞減(大堆)關(guān)系,但是我們無(wú)法得知左子樹(shù)與右子樹(shù)兩部分節(jié)點(diǎn)的排序關(guān)系。本文就來(lái)講講算法和數(shù)據(jù)結(jié)構(gòu)共同滿足一組特性,感興趣的小伙伴請(qǐng)參考下面文章的內(nèi)容2021-09-09封裝?Python?時(shí)間處理庫(kù)創(chuàng)建自己的TimeUtil類(lèi)示例
這篇文章主要為大家介紹了封裝?Python?時(shí)間處理庫(kù)創(chuàng)建自己的TimeUtil類(lèi)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05