溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python功能

發(fā)布時間:2021-10-29 15:37:30 來源:億速云 閱讀:146 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么使用Python功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么使用Python功能”吧!

變量賦值

正如函數(shù)*args和**kwargs,在變量賦值中可以運用相同的語法:

怎么使用Python功能

合并兩個字典

合并字典時運用可迭代變量賦值法中的**kwargs語法:

怎么使用Python功能

需要小心的是,如果字典間有公共鍵,后一個鍵值對(y中的)會替代前者。據(jù)即將發(fā)行的最新Python版本(3.9),可以用一個全新的語法來規(guī)避這個問題,即字典合并,并更新操作符:

z = x | y # 合并——如上所述的行為模式

x |= y # 更新——替代字典合并

不可變集合

在Python中,可以運用集合,也就是不同對象的無序集合。這些集合是可變的,意味著能用add()和remove()進行變換——這說明可變集合是不可哈希的。

反之,可以運用不可變集合frozenset()——一種無法改變值的集合。但正因不可變,它是可哈希的——當(dāng)把set和frozenset同時作為字典的鍵時,這一點就體現(xiàn)出來了:

怎么使用Python功能
怎么使用Python功能

把frozenset作為字典的鍵似乎并不實用,但是frozenset的作用是提供更詳細(xì)、更具目的性的代碼。這提醒了未來的代碼閱讀者——如果改變我,一切都會崩潰。

多因素條件

清理那些雜亂的if語句,而不是:

if 0 <= x and x <= 1: print('value is %')

可以寫成:

if (0 <= x <= 1): print('value is %')

再深入一點,可以添加更多的條件語句,并用逐位運算符把它們串起來:

if (0 <= x < 1) | (7 <= x < 8) | (x == 10):     print('passed')

檢查變量是否存在

我需要檢查變量是否存在嗎?

if "var_name" in globals():     print("var_nameexists!")elif "var_name" in locals():     print("var_name existslocally!")else:     print("var_name does notexist.")

可以分別利用 globals()和 locals()在全局和本地范圍內(nèi)檢查變量。

怎么使用Python功能

檢查變量test1和test2是否在全局或本地

globals和locals這兩個作用域函數(shù)都會返回字典&mdash;&mdash;因此也執(zhí)行上述的字典合并語法{**x,  **y}。代碼在合并范圍后的字典中同時檢查了test1和test2。

勝過lambda函數(shù)

利用lambda函數(shù)編寫一行簡單快捷的程序是很常見的,但是它很少用來建立多參數(shù)函數(shù)。通常情況如下:

do_something = lambda x: x**2 / (1 - x)

但lambda函數(shù)也可用來構(gòu)建簡練的一行式函數(shù):

怎么使用Python功能

運用lambda函數(shù)構(gòu)建一個帶有Cochran方

在到處運用lambda函數(shù)之前,你要知道這是Python語法中最忌諱的用法之一。PEP  8&mdash;&mdash;Python的代碼風(fēng)格指南&mdash;&mdash;非常不鼓勵把lambda函數(shù)作為命名函數(shù)。同時,特別是對于數(shù)字公式,一行式函數(shù)看起來會很奇怪。

因此,可以編寫一行式的def 語句來替代lambda:

怎么使用Python功能

運用單行的def語句構(gòu)建一個帶有Cochran

運用哪一種方法取決于你。除非是想得到消極的反饋,那么請用lambda,否則還是用def吧。

感謝各位的閱讀,以上就是“怎么使用Python功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么使用Python功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI