Python 語法

看到一些提高效率的代碼片段,紀(jì)錄了一下

0. 序列解包

x, y, z = 1, 2, 3 # 并行賦值
x, y = y, x # 快速交換
value = (1, 2, 3)
x, y, z = value # 序列解包,x = 1…… 可類推

1. 循環(huán)中的 else 子句

通常,在循環(huán)中使用 break 是因?yàn)槟恪赴l(fā)現(xiàn)」了什么或「出現(xiàn)」了什么情況。要在循環(huán)提前結(jié)束時(shí)采取某種措施很容易,但有時(shí)候你可能想在循環(huán)正常結(jié)束時(shí)才采取某種措施。如何判斷循環(huán)是提前結(jié)束還是正常結(jié)束的呢?可在循環(huán)開始前定義一個(gè)布爾變量并將其設(shè)置 False ,再在跳出循環(huán)時(shí)將其設(shè)置為 True。這樣就可在循環(huán)后面使用一條 if 語句來判斷循環(huán)是否是提前結(jié)束的。

broke_out = False 
for x in seq: 
    do_something(x) 
    if condition(x): 
        broke_out = True 
        break 
    do_something_else(x) 
if not broke_out:
    print(“I didn’t break out!”) 

一種更簡(jiǎn)單的辦法是在循環(huán)中添加一條 else 子句,它僅在沒有調(diào)用 break 時(shí)才執(zhí)行。繼續(xù)前面討論 break 時(shí)的示例。

from math import sqrt
for n in range(99, 81, -1): 
    root = sqrt(n)
    if root == int(root): 
        print(n) 
        break 
else: 
    print(“Didn’t find it!”) 

2. 添加的保留字

pass # 什么也不做,用于判斷語句中表示占位符
del # 刪除,不常用由于 python 的回收機(jī)制,一般不常用
exec # 函數(shù),可執(zhí)行其中的語句,無返回值,例如:
exec("print('Hello, world!')") 
# 輸出 Hello, world!
eval # 函數(shù),可執(zhí)行其中的語句,有返回值,例如:
eval(input("Enter an arithmetic expression: ")) 
# Enter an arithmetic expression: 6 + 18 * 2
# 42 
# 不僅執(zhí)行了語句,而且還可以將輸入的內(nèi)容作為語句再執(zhí)行

3. 函數(shù)的構(gòu)建

當(dāng)函數(shù)構(gòu)建為 def test(*value) 時(shí),value 為元組;當(dāng)構(gòu)建為 def test(**value) 時(shí),value 為字典。

4. 類的定義

class Person: 

    def set_name(self, name): 
        self.name = name 

    def get_name(self): 
        return self.name 

    def greet(self):
        print("Hello, world! I'm {}.".format(self.name)) 

這個(gè)類定義了三個(gè)方法,而在實(shí)例化一個(gè)類的時(shí)候,對(duì)象總會(huì)自動(dòng)將自身作為第一個(gè)參數(shù)傳入方法,即上面代碼塊的 self ,但是此變量名可自取,用 self 是因?yàn)樾蜗蟮恼f明了第一個(gè)參數(shù)的作用。因此,這些函數(shù)也叫做關(guān)聯(lián)的方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.基本使用 1.1 數(shù)據(jù)類型 常用數(shù)據(jù)類型 Common Data Types 其他類型 Others 1.2 ...
    suwi閱讀 1,576評(píng)論 0 3
  • Python 簡(jiǎn)明語法總結(jié) !!! 只針對(duì)有經(jīng)驗(yàn)開發(fā)人員 簡(jiǎn)單輸入輸出 輸出print 10 , '十' 輸入na...
    _賴筆小新閱讀 15,780評(píng)論 3 162
  • 兵器譜 if python沒有三目運(yùn)算符,我挺苦惱的,比如把兩個(gè)整數(shù)較大的那個(gè)復(fù)制給一個(gè)變量,有三目運(yùn)算符的語言會(huì)...
    測(cè)試小螞蟻閱讀 3,849評(píng)論 0 2
  • 在Python的道路上,我們不僅要學(xué)習(xí)代碼知識(shí),還要建立自己的編程思維,逐步掌握與計(jì)算機(jī)溝通的方式,真正地實(shí)現(xiàn)“人...
    BeautifulSoulpy閱讀 2,063評(píng)論 0 0
  • 2018年2月24日、星期六、陰 今天是寒假的最后一天了,子墨做完她最后的作業(yè)后,便開始復(fù)習(xí)一下上冊(cè)的語文和數(shù)學(xué)。...
    劉子墨媽媽閱讀 325評(píng)論 0 1

友情鏈接更多精彩內(nèi)容