Python海象運算符代碼分析及知識點總結(jié)
1、在判斷條件下允許操作。在一定程度上簡化了代碼,但降低了可讀性。
i = len((l := [1, 2, 3])) # 先對l進行賦值,在對i賦值 while (i := i - 1) >= 0: # 允許在表達(dá)式中運算 print(l[i], end=' ')
2、python中的海象操作符較少使用,允許在判斷中進行簡單的賦值操作,沒有其他特殊意義,只需了解其存在即可。
l = [1, 2, 3] i = len(l) - 1 while i >= 0: print(l[i], end=' ') i -= 1
知識點擴充
語法
海象運算符的語法格式是:
(variable_name := expression)
這是一個新的賦值運算符,跟我們常見的 =
類似,一個變量名后面跟一個表達(dá)式。
用于 if-else 條件表達(dá)式
常規(guī)寫法:
a = 5 if a > 1: print('do sth!')
升級寫法:
if a := 5 > 1: print('do sth!')
用于 while 循環(huán)
常規(guī)寫法:
n = 3 while n: print('do sth!') n -= 1
升級寫法:
n = 3 while (n := n - 1) + 1: print('do sth!')
這里加1是因為執(zhí)行輸出前n就減1了。
讀取文件
常規(guī)寫法:
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())
在合適的場景中使用海象運算符可以降低程序復(fù)雜性,簡化代碼,甚至可以提高程序的性能。
到此這篇關(guān)于Python海象運算符代碼分析及知識點總結(jié)的文章就介紹到這了,更多相關(guān)Python海象運算符的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python的Twisted框架構(gòu)建非阻塞下載程序的實例教程
Twisted的異步工作模式使其在非阻塞情況下可以擁有較高的性能,這里我們來看一下使用Python的Twisted框架構(gòu)建非阻塞下載程序的實例教程,包括服務(wù)器端與客戶端的實踐.2016-05-05Python 格式化輸出_String Formatting_控制小數(shù)點位數(shù)的實例詳解
在本篇文章里小編給大家整理了關(guān)于Python 格式化輸出_String Formatting_控制小數(shù)點位數(shù)的實例內(nèi)容,需要的朋友們參考下。2020-02-02Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù)示例
這篇文章主要介紹了Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù),涉及Python自定義函數(shù)中使用find方法針對字符串的簡單判斷查找相關(guān)操作技巧,需要的朋友可以參考下2018-01-01封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例
這篇文章主要為大家介紹了封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2023-05-05