最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python海象運算符超詳細講解

 更新時間:2023年01月30日 09:24:26   作者:小嗷犬  
海象運算符的英文原名叫Assignment Expresions,翻譯過來也就是賦值表達式,不過現(xiàn)在大家更普遍地稱之為海象運算符,就是因為它長得真的太像海象了

介紹

海象運算符,即 := ,在 PEP 572 中被提出,并在 Python3.8 版本中發(fā)布。

海象運算符的英文原名叫Assignment Expresions,即賦值表達式。

它由一個冒號:和一個等號=組成,即:=。而它被稱作walrus operator(海象運算符),是因為它長得像一只海象。

語法

海象運算符的語法格式如下:

variable_name := expression

它的作用是將表達式的值賦值給變量,然后返回表達式的值。

而傳統(tǒng)的賦值運算符=在賦值之后,返回的是None

用法

海象運算符返回的是表達式的值,而不是None,因此可以用于一些需要表達式的地方。

if 語句

使用海象運算符:

if (n := len(a)) > 10:
    print(f"List is too long ({n} elements, expected <= 10)")

傳統(tǒng)寫法:

n = len(a)
if n > 10:
    print(f"List is too long ({n} elements, expected <= 10)")

while 循環(huán)

while 循環(huán)逐行讀取文件

使用海象運算符:

while (line := f.readline()) != "":
    print(line, end="")

傳統(tǒng)寫法:

line = f.readline()
while line != "":
    print(line, end="")
    line = f.readline()

while 循環(huán)驗證輸入

使用海象運算符:

while (user_input := input("Enter something: ")) != "quit":
    print(f"You entered {user_input}")

傳統(tǒng)寫法:

user_input = input("Enter something: ")
while user_input != "quit":
    print(f"You entered {user_input}")
    user_input = input("Enter something: ")

推導式

使用海象運算符:

nums = [18, 29, 31, 37, 41, 59, 61, 73, 79, 83, 97]
cnt = 0
def f(x):
    global cnt
    cnt += 1
    return int(x ** 0.5)
print([y for x in nums if (y := f(x)) > 7])
print(cnt)
# 輸出:
# [8, 8, 9, 9]
# 11

傳統(tǒng)寫法:

nums = [18, 29, 31, 37, 41, 59, 61, 73, 79, 83, 97]
cnt = 0
def f(x):
    global cnt
    cnt += 1
    return int(x ** 0.5)
print([f(x) for x in nums if f(x) > 7])
print(cnt)
# 輸出:
# [8, 8, 9, 9]
# 15

可以看出,在上面那種情況下,使用海象運算符可以減少函數(shù)的調(diào)用次數(shù)。

當數(shù)據(jù)量大時,這種差別就會更加明顯。

三元表達式

使用海象運算符:

money, spend = 2000, 1500
print(f"你還有{money}元" if (money := money - spend) > 1000 else "你只有{money}元了")

傳統(tǒng)寫法:

money, spend = 2000, 1500
money = money - spend
print(f"你還有{money}元" if money > 1000 else f"你只有{money}元了")

總結(jié)

綜上所述,海象運算符可以用于一些需要表達式的地方,比如if語句、while循環(huán)、推導式、三元表達式等。

它一定程度上減少了代碼的行數(shù),使代碼更加簡潔,甚至在某些情況下可以提高程序的效率;但通常情況下,使用海象運算符會降低代碼的可讀性,使代碼更難以理解。

因此,使用海象運算符時,應(yīng)該考慮清楚,是否真的需要使用它。

到此這篇關(guān)于Python海象運算符超詳細講解的文章就介紹到這了,更多相關(guān)Python海象運算符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV-Python實現(xiàn)油畫效果的實例

    OpenCV-Python實現(xiàn)油畫效果的實例

    OpenCV是功能強大的計算機視覺庫,本文主要使用OpenCV來實現(xiàn)圖片的油畫效果,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 淺析Python中的多條件排序?qū)崿F(xiàn)

    淺析Python中的多條件排序?qū)崿F(xiàn)

    Python中使用sort方法和sorted函數(shù)排序時關(guān)鍵就在于key參數(shù)值的編寫技巧,這里我們來舉兩個實例淺析Python中的多條件排序?qū)崿F(xiàn):
    2016-06-06
  • python中filter,map,reduce的作用

    python中filter,map,reduce的作用

    這篇文章主要介紹了python中filter,map,reduce的作用,文章首先通過map函數(shù)展開,map主要作用是計算一個序列或者多個序列進行函數(shù)映射之后的值,感興趣的朋友可以參考一下
    2022-06-06
  • Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步

    Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步

    這篇文章主要介紹了Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步,本文講解通過很著名的“生產(chǎn)者-消費者”模型來來演示在Python中使用Condition實現(xiàn)復(fù)雜同步,需要的朋友可以參考下
    2015-04-04
  • python 一個figure上顯示多個圖像的實例

    python 一個figure上顯示多個圖像的實例

    今天小編就為大家分享一篇python 一個figure上顯示多個圖像的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python JSON模塊的使用詳情

    Python JSON模塊的使用詳情

    這篇文章主要介紹了Python JSON模塊的使用詳情,JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于人閱讀和編寫下面文章圍繞Python JSON模塊的相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下,希望 對你有所幫助
    2021-12-12
  • Pytorch學習筆記DCGAN極簡入門教程

    Pytorch學習筆記DCGAN極簡入門教程

    網(wǎng)上GAN的教程太多了,這邊也談一下自己的理解,本文給大家介紹一下GAN的兩部分組成,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Python 中使用 Selenium 單擊網(wǎng)頁按鈕功能

    Python 中使用 Selenium 單擊網(wǎng)頁按鈕功能

    Selenium是一個用于測試網(wǎng)站的自動化測試工具,支持各種瀏覽器包括Chrome、Firefox、Safari等主流界面瀏覽器,同時也支持phantomJS無界面瀏覽器,本篇文章將介紹如何在 Python 中使用 selenium 單擊網(wǎng)頁上的按鈕,感興趣的朋友一起看看吧
    2023-11-11
  • python字符串常用方法及文件簡單讀寫的操作方法

    python字符串常用方法及文件簡單讀寫的操作方法

    字符串(sting)是 Python 中最常用的數(shù)據(jù)類型。我們可以使用引號('或")來創(chuàng)建字符。本文給大家介紹python字符串常用方法及文件簡單讀寫的操作方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-03-03
  • Python?pyasn庫解析和生成ASN.1數(shù)據(jù)結(jié)構(gòu)

    Python?pyasn庫解析和生成ASN.1數(shù)據(jù)結(jié)構(gòu)

    這篇文章主要介紹了Python?pyasn庫實現(xiàn)ASN.1數(shù)據(jù)結(jié)構(gòu)的解析和生成實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01

最新評論

沛县| 平武县| 两当县| 石城县| 凌云县| 鄄城县| 普格县| 宿松县| 桐庐县| 富蕴县| 榆社县| 舞钢市| 申扎县| 留坝县| 大同市| 平定县| 尚志市| 富顺县| 蒙山县| 府谷县| 蓬溪县| 犍为县| 辽中县| 育儿| 云和县| 桦川县| 东辽县| 河北区| 澎湖县| 桦甸市| 崇礼县| 昌吉市| 安化县| 西乌珠穆沁旗| 崇州市| 乌拉特后旗| 富蕴县| 毕节市| 当涂县| 汉寿县| 新河县|