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

