「python」33個Python關鍵字的簡單總結

Python有哪些關鍵字?如何查找?

方法一:官網上當然能查到

官網截圖

方法二:在python程序裡面查找:

程序中查找

總共33個關鍵字,接下來簡單介紹和演示:

條件判斷相關:

if elif else and or is not in True False

上面10個關鍵字非常簡單,if elif else就是如果xx那麼xx,如果yy那麼yy,否則zz。

and or也是很容易理解的邏輯關係:真and真=真,真and假=假,真or假=真,假or假=假……太簡單,就不廢話了。

is not in True False從字面上就能知道意思,值得一提的是'is'和'=='的區別:

python中的對象都是有id的,'is'是比較id,即判斷是否是同一個對象,而'=='是判斷對象的值是否相同,舉例說明:

Advertisements

>>> a = 1

>>> b = 1.0

>>> print(a == b , a is b)

True False

>>> print(id(a),id(b))

1577329360 2519031456344

另外,在python裡面,True和False是有值的,對應1和0,舉例說明:

>>> print(True+False,True+True,True+3,False-2,True==1,False==0,True is 1,False is 0)

1 2 4 -2 True True False False

一目了然吧?

Advertisements

接下來是和循環相關的關鍵字:

for while break continue

用一個列表解析式來演示for的使用:

>>> a = [i for i in range(5)]

>>> a

[0, 1, 2, 3, 4]

while xx,直到條件xx不滿足時才退出。比如常見的while True:,這種就是死循環,使用break可跳出循環。

break和continue都和跳出循環有關,注意它們的差異,舉例說明:

跳出循環

如上圖的代碼所示,當i==3時,continue跳出了當前循環,沒有繼續執行下面的print(i)語句,但然後繼續整個循環,因此列印的數字裡面只缺失了3。使用break時,i==3直接退出循環,後面的數字4也就沒列印了。

還有一些比較常用的關鍵字:

def ljds(): def是定義一個函數。

class ljds(): class是定義一個類。

pass :佔位符,是個空語句,只是為了保證程序結構的完整性。(不完整會報錯,所以加個pass放在那裡嘍)

None:空對象。

importfrom、as都是導入模塊使用的。舉例說明:

import re:導入正則表示模塊

from bs4 import BeautifulSoup:導入bs4模塊中的BeautifulSoup函數。

import sys as ljds:導入sys模塊,並重命名為ljds。

當然as不是只能用於導入模塊,讀寫文件也是能用的,比如:

with open('ljds.txt','w') as f:

try except finally raise assert關鍵字主要用於處理異常:try後面寫可能出現異常的代碼,在except中捕獲異常。finally后的語句總會執行。raise用於引發異常。assert是斷言語句。

del:舉例說明:

>>> a = ['ljds','Sean','Sting','Tom']

>>> del(a[0])

>>> a

['Sean', 'Sting', 'Tom']

returnyield,使用方法很相似,但差別還是比較大的。舉例說明:

return

yield

查看兩個函數的類型:

print(type(ljds1) , type(ljds2))

<class 'list'> <class 'generator'>

可以看出,一個是列表,一個是生成器。關於生成器不詳細介紹了,只是說下它的優點是節省資源。列表把所有數據一次性加入內存,生成器是每次把一個數據放進內存……

global:可以修改全局變數。舉例說明:

global

執行ljds()這個函數之前,a=2,執行函數后,在函數里修改了全局變數a,此時print(a)已經是4了。

nonlocal:用來在函數或其他作用域中使用外層變數。(這個關鍵字對我來說是最陌生的,根據定義我以為理解了,但實驗出的結果令我很困惑,不在這裡演示了……)

lambda:匿名函數。舉例說明:

ljds = lambda arg : arg * 2

result = ljds(5)

result

Out[87]: 10

本文只是對python關鍵字做的簡單總結,沒有做到每個關鍵字都舉例,並且可能還有不嚴謹的地方,歡迎批評指正。

終於寫完了,打把王者榮耀壓壓驚!

Advertisements

你可能會喜歡