想學好Python,你必須瞭解Python中的35個關鍵詞

每種編程語言都會有一些特殊的單詞,稱爲關鍵詞。對待關鍵詞的基本要求是,你在命名的時候要避免與之重複。本文將介紹一下Python中的關鍵詞。關鍵詞不是內置函數或者內置對象類型,雖然在命名的時候同樣也最好不要與這些重名,但是,畢竟你還可以使用與內置函數或者內置對象類型重名的名稱來命名。關鍵詞則不同,它是不允許你使用。

在Python3.8中提供了35個關鍵詞,如下所示:

如果打算在交互模式裏面查看關鍵詞,可以使用help()

 help("keywords")

Here is a list of the Python keywords.  Enter any keyword to get more help.

False     await else        import        pass None break        except      in            raise True class        finally     is            return
and       continue     for         lambda        try as def          from        nonlocal      while
assert    del          global      not with
async elif         if          or            yield

對每個關鍵詞的詳細說明,也可以用help()查看:
 help('pass')    # 敲回車後出現下面的內容
 The "pass" statement ******************** pass_stmt ::= "pass"

"pass" is a null operation — when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically,
but no code needs to be executed, for example: def f(arg): pass    # a function that does nothing (yet)

   class C: pass       # a class with no methods (yet)

除了上面的方法之外,還有一個標準庫的模塊keyword提供了關鍵詞查詢功能。

 import keyword >>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', ...

那麼,這些關鍵詞如何使用?在什麼情景下應用?下面以示例的方式對部分關鍵詞進行說明。

True、False和None

TrueFalse是布爾類型的兩個值,注意必須首字母大寫。

 x = True >>> x is True
True >>> y = False >>> y is False
True

如果我們要判斷某個對象的布爾值是True還是False,可以使用bool()函數實現,例如:

 x = "this is a truthy value"
>>> x is True
False >>> bool(x) is True
True >>> y = ""  # 這個是假
>>> y is False
False >>> bool(y) is False
True

注意,如果向bool()傳入的參數是0, "", {}, []中的任何一個,返回值都是False

在條件語句中,本來是要判斷條件是否爲True,但是,通常不需要直接與True或者False進行比較,依靠Python解析器自動進行條件判斷。

 x = "this is a truthy value"
>>> if x is True:  # 不要這麼做
...     print("x is True")
... >>> if x:  # 應該如此寫
...     print("x is truthy")
...
x is truthy

None這個關鍵詞,在Python中表示沒有值,其他語言中,同樣的含義可能會用null,nil,none,undef,undefined等。None也是函數中沒有return語句的時候默認返回值。

def func():
... print("hello")
... >>> x = func()
hello >>> print(x)
None

and、or、not、in、is

這幾個關鍵詞,其實都對應着數學中的操作符,如下表所示。

數學符號 關鍵詞
AND, ∧ and
OR, ∨ or
NOT, ¬ not
CONTAINS, ∈ in
IDENTITY is

Python代碼具有很強的可讀性,通過關鍵詞就能一目瞭然曉得是什麼操作。

這幾個關鍵詞比較好理解,這裏僅提醒注意在Python中有一個著名的短路運算,例如and

<expr1> and <expr2>

不要將上面的式子理解成兩邊都是真的時候返回True

break、continue和else

這幾個是經常用於循環語句的關鍵詞。

break 的作用是終止當前循環,其使用的基本格式:

 nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> sum = 0 >>> for num in nums:
...     sum += num
... if sum > 10:
... break ... >>> sum 15

continue則是要跳過某些循環,然後讓循環繼續。

for <element> in <container>: if <expr>: continue

else在條件語句中有,這裏提到它,是在循環語句中,它的作用是當循環結束後還要繼續執行的代碼。

在for循環中,使用格式如下:

for  in : 
else: 

在while循環中,使用格式如下:

while <expr>: <statements>
else: <statements>

例如,有時候我們要在循環語句中使用一個旗幟變量:

 for n in range(2, 10):
...     prime = True
... for x in range(2, n):
... if n % x == 0:
...             prime = False
... print(f"{n} is not prime")
... break ... if prime:
... print(f"{n} is prime!")
... 2 is prime! 3 is prime! 4 is not prime 5 is prime! 6 is not prime 7 is prime! 8 is not prime 9 is not prime

在上面的代碼中,prime就是一個旗幟變量,如果循環正常結束,prime的值就是True,否則,就是False。如果從循環中退出了,第8行判斷這個變量的值,如果爲True則打印相應內容。

對於上面的代碼,如果用else改寫,可以更簡潔,並且可讀性更強。

 for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(f"{n} is not prime")
... break ... else:
... print(f"{n} is prime!")
... 2 is prime! 3 is prime! 4 is not prime 5 is prime! 6 is not prime 7 is prime! 8 is not prime 9 is not prime


爲解決初學者學習上的困難,專門建立的Python學習扣qun:784758214,從0基礎的python腳本到web開發、爬蟲、django、數據挖掘數據分析等,0基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每晚分享一些學習的方法和需要注意的小細節,學習路線規劃,利用編程賺外快。點擊加入我們的 python學習圈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章