<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Python 關鍵字 > 原文: [http://zetcode.com/lang/python/keywords/](http://zetcode.com/lang/python/keywords/) 在 Python 編程教程的這一部分中,我們介紹了 Python 語言中的關鍵字。 ## Python 關鍵字 Python 關鍵字是構成 Python 語言詞匯的特殊單詞。 它是保留字,不能用作標識符。 ## Python 關鍵字列表 以下是 Python 編程語言的關鍵字列表。 ```py False def if raise None del import return True elif in try and else is while as except lambda with assert finally nonlocal yield break for not class from or continue global pass ``` Python 是一種動態語言。 它隨時間變化。 關鍵字列表將來可能會更改。 `keywords.py` ```py #!/usr/bin/env python # keywords.py import sys import keyword print("Python version: ", sys.version_info) print("Python keywords: ", keyword.kwlist) ``` 該腳本打印 Python 的版本及其實際的關鍵字列表。 ```py $ ./keywords.py Python version: sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0) Python keywords: ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ``` 輸出顯示了 Python 3.5.2 的 Python 關鍵字列表。 ## Python 控制流程 `while`關鍵字是用于控制程序流程的基本關鍵字。 執行`while`循環內的語句,直到表達式的值為`False`為止。 `while_kwd.py` ```py #!/usr/bin/env python # while_kwd.py numbers = [22, 34, 12, 32, 4] mysum = 0 i = len(numbers) while i != 0: i -= 1 mysum = mysum + numbers[i] print("The sum is:", mysum) ``` 在我們的腳本中,我們要計算數字列表中所有值的總和。 我們利用`while`循環。 我們確定列表的長度。 反復執行`while`循環,直到`i`等于零為止。 在循環的主體中,我們遞減計數器并計算值的總和。 ```py $ ./while_kwd.py The sum is: 104 ``` 值的總和為 104。 如果需要,可使用`break`關鍵字來中斷循環。 `break_kwd.py` ```py #!/usr/bin/env python # break_kwd.py import random while True: val = random.randint(1, 30) print(val, end=" ") if val == 22: break print() ``` 在我們的示例中,我們打印隨機整數。 如果數字等于 22,則用`break`關鍵字中斷循環。 ```py $ ./break_kwd.py 14 14 30 16 16 20 23 15 17 22 ``` 下一個示例顯示`continue`關鍵字。 它用于中斷當前周期,而不會跳出整個周期。 它啟動一個新的循環。 `continue_kwd.py` ```py #!/usr/bin/env python # continue_kwd.py num = 0 while num < 1000: num = num + 1 if num % 2 == 0: continue print(num, end=" ") ``` 在示例中,我們打印了所有小于 1000 的數字,這些數字不能除以 2 而沒有余數。 `if`關鍵字是常見的控制流關鍵字。 它用于確定要執行的語句。 `if_kwd.py` ```py #!/usr/bin/env python # if_kwd.py age = 17 if age > 18: print("Driving licence issued") else: print("Driving licence not permitted") ``` `if`關鍵字測試此人是否大于 18 歲。如果符合條件,則頒發駕駛執照。 `else`關鍵字是可選的。 除非條件為`True`,否則執行`else`關鍵字之后的語句。 接下來,我們了解如何使用`elif`關鍵字合并語句。 `elif_kwd.py` ```py #!/usr/bin/env python # elif_kwd.py name = "Luke" if name == "Jack": print("Hello Jack!") elif name == "John": print("Hello John!") elif name == "Luke": print("Hello Luke!") else: print("Hello there!") ``` 如果第一個測試的求值結果為`False`,那么我們繼續下一個測試。 如果沒有一個測試是`True`,則執行`else`語句。 ```py $ ./elif_kwd.py Hello Luke! ``` 這是輸出。 `for`關鍵字用于遍歷集合中的項目,以便它們出現在容器中。 `for_kwd.py` ```py #!/usr/bin/env python # for_kwd.py lyrics = """\ Are you really here or am I dreaming I can't tell dreams from truth for it's been so long since I have seen you I can hardly remember your face anymore """ for i in lyrics: print(i, end=" ") ``` 在該示例中,我們有一個`lyrics`變量,該變量具有歌曲的節奏。 我們遍歷文本并逐個字符打印文本。 `print`語句中的逗號阻止將每個字符打印在新行上。 ```py $ ./for_kwd.py A r e y o u r e a l l y h e r e o r a m I d r e a m i n g I c a n ' t t e l l d r e a m s f r o m t r u t h f o r i t ' s b e e n s o l o n g s i n c e I h a v e s e e n y o u I c a n h a r d l y r e m e m b e r y o u r f a c e a n y m o r e ``` 這是腳本的輸出。 ## Python 布爾表達式 首先,我們介紹適用于布爾值和表達式的關鍵字:`is`,`or`,`and`和`not`。 `objects.py` ```py #!/usr/bin/env python # objects.py print(None == None) print(None is None) print(True is True) print([] == []) print([] is []) print("Python" is "Python") ``` `==`運算符測試是否相等。 `is`關鍵字測試對象身份。 我們是否在談論同一對象。 請注意,多個變量可能引用同一對象。 ```py $ ./objects.py True True True True False True ``` 輸出可能會讓您感到驚訝。 在 Python 語言中,只有一個`None`和一個`True`對象。 這就是為什么`True`相等并且也與`True`相同的原因。 無論如何,那里只有一個真理。 空列表`[]`等于另一個空列表`[]`; 但它們并不相同。 Python 已將它們放入兩個不同的內存位置。 它們是兩個不同的對象。 因此,`is`關鍵字返回`False`。 另一方面,`"Python" is "Python"`返回`True`。 這是由于優化。 如果兩個字符串字面值相等,則將它們放在相同的內存位置。 字符串是不可變的實體,因此不會造成任何傷害。 `not`關鍵字取反布爾值。 `not_kwd.py` ```py #!/usr/bin/env python # not_kwd.py grades = ["A", "B", "C", "D", "E", "F"] grade = "L" if grade not in grades: print("unknown grade") ``` 在我們的示例中,我們測試了等級值是否來自可能等級的列表。 ```py $ ./not_kwd.py unknown grade ``` 如果必須滿足布爾表達式中的所有條件,則使用關鍵字`and`。 `and_kwd.py` ```py #!/usr/bin/env python # and_kwd.py sex = "M" age = 26 if age < 55 and sex == "M": print("a young male") ``` 在我們的示例中,我們測試是否滿足兩個條件。 如果變量`age`小于`55`且變量`sex`等于`"M"`,則將`"a young male"`字符串打印到控制臺。 ```py $ ./and_kwd.py a young male ``` 如果必須滿足至少一個條件,則使用關鍵字`or`。 `or_kwd.py` ```py #!/usr/bin/env python # or_kwd.py name = "Jack" if (name == "Robert" or name == "Frank" or name == "Jack" or name == "George" or name == "Luke"): print("This is a male") ``` 如果至少一個表達式為`true`,則執行`print`語句。 當我們使用 Python 編程語言中的和/或關鍵字工作時,就會進行短路求值。 短路求值意味著僅當第一個參數不足以確定表達式的值時,才求值第二個參數:當和的第一個參數求值為`false`時,總值必須為`false`; 當或的第一個參數為`true`時,總值必須為`true`。 一個典型的例子如下。 `short_circuit.py` ```py #!/usr/bin/env python # short_circuit.py x = 10 y = 0 if (y != 0 and x/y < 100): print("a small value") ``` 表達式的第一部分計算為`false`。 表達式的第二部分不計算。 否則,我們將得到`ZeroDivisionError`。 ## Python 模塊 以下關鍵字與模塊一起使用。 模塊是用于組織 Python 代碼的文件。 `import`關鍵字用于將其他模塊導入 Python 腳本。 `import_kwd.py` ```py #!/usr/bin/env python # import_kwd.py import math print(math.pi) ``` 我們使用`import`關鍵字將`math`模塊導入腳本的名稱空間。 我們打印`PI`值。 如果我們想給模塊一個不同的別名,我們使用`as`關鍵字。 `as_kwd.py` ```py #!/usr/bin/env python # as_kwd.py import random as rnd for i in range(10): print (rnd.randint(1, 10), end=" ") print() ``` 在這種情況下,我們將導入隨機模塊。 我們打印十個隨機整數。 我們給隨機模塊一個不同的別名,即`rnd`。 在腳本中,我們使用新別名引用模塊。 ```py $ ./as_kwd.py 1 2 5 10 10 8 2 9 7 2 ``` `from`關鍵字用于從模塊中導入特定的變量,類或函數。 `from_kwd.py` ```py #!/usr/bin/env python # from_kwd.py from sys import version print(version) ``` 從`sys`模塊中,導入`version`變量。 如果要打印,則不需要使用模塊名稱。 版本變量被直接導入到我們的命名空間中,我們可以直接引用它。 ```py $ ./from_kwd.py 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] ``` ## Python 函數 在這里,我們描述與函數關聯的關鍵字。 `def`關鍵字用于創建新的用戶定義函數。 函數是我們在其中組織代碼的對象。 `def_kwd.py` ```py #!/usr/bin/env python # def_kwd.py def root(x): return x * x a = root(2) b = root(15) print(a, b) ``` 該示例演示了一個新的簡單函數。 該函數計算數字的平方。 `return`鍵與函數定義緊密聯系; 它退出函數并返回一個值。 然后將該值分配給`a`和`b`變量。 `lambda`關鍵字創建一個新的匿名函數。 匿名函數未綁定到特定名稱。 `lambda_kwd.py` ```py #!/usr/bin/env python # lambda_kwd.py a = lambda x: x * x for i in (1, 2, 3, 4, 5): print(a(i), end=" ") print() ``` 如您在前面的示例中看到的,我們沒有使用`def`關鍵字創建新函數。 取而代之的是,我們動態使用內聯函數。 ```py $ ./lambda_kwd.py 1 4 9 16 25 ``` 如果要訪問在函數外部定義的變量,請使用`global`關鍵字。 `global_kwd.py` ```py #!/usr/bin/env python # global_kwd.py x = 15 def function(): global x x = 45 function() print(x) ``` 通常,在函數內部分配`x`變量時,我們會創建一個新的局部變量,該局部變量僅在該函數中有效。 但是,如果使用`global`關鍵字,則會在函數定義中更改變量`ouside`。 ```py $ ./global_kwd.py 45 ``` ## Python 異常 接下來,我們將使用與異常處理一起使用的關鍵字。 ```py $ cat films Fargo Aguirre, der Zorn Gottes Capote Grizzly man Notes on a scandal ``` 這是一個文件,其中包含一些電影標題。 在代碼示例中,我們將閱讀它。 `try_except_finally.py` ```py #!/usr/bin/env python # try_except_finally.py f = None try: f = open('films', 'r') for i in f: print(i, end="") except IOError: print("Error reading file") finally: if f: f.close() ``` 我們嘗試讀取電影文件。 如果沒有異常,我們將文件的內容打印到控制臺。 可能會有異常。 例如,如果我們提供了錯誤的文件名。 在這種情況下,會引發`IOError`異常。 `except`關鍵字捕獲異常并執行其代碼塊。 最后始終執行`finally`關鍵字。 我們用它來清理我們的資源。 在下一個示例中,我們顯示如何使用`raise`關鍵字創建用戶定義的異常。 `raise_kwd.py` ```py #!/usr/bin/env python # raise_kwd.py class YesNoException(Exception): def __init__(self): print('This is not a yes or no answer') answer = 'y' if (answer != 'yes' and answer != 'no'): raise YesNoException else: print('Correct value') ``` 在該示例中,我們僅期望是/否值。 對于其他可能性,我們提出一個異常。 ```py $ ./raise_kwd.py This is not a yes or no answer Traceback (most recent call last): File "./raise_kwd.py", line 15, in <module> raise YesNoException __main__.YesNoException ``` ## 其他關鍵詞 `del`關鍵字刪除對象。 `del_kwd.py` ```py #!/usr/bin/env python # del_kwd.py a = [1, 2, 3, 4] print(a) del a[:2] print(a) ``` 在我們的示例中,我們有四個整數的列表。 我們從列表中刪除第一個數字。 結果將打印到控制臺。 ```py $ ./del_kwd.py [1, 2, 3, 4] [3, 4] ``` 這是示例的輸出。 `pass`關鍵字不執行任何操作。 在某些情況下,這是一個非常方便的關鍵字。 ```py def function(): pass ``` 我們有一個函數。 此函數尚未實現。 (將在以后。)函數的主體不能為空。 因此,我們可以在此處使用`pass`關鍵字,而不是打印“函數尚未實現”之類的內容。 `assert`關鍵字用于調試目的。 我們可以將其用于對我們顯而易見的測試條件。 例如,我們有一個計算工資的程序。 我們知道薪水不能少于零。 因此,我們可以在代碼中添加這樣的斷言。 如果斷言失敗,則解釋器抱怨。 `assert_kwd.py` ```py #!/usr/bin/env python # assert_kwd.py salary = 3500 salary -= 3560 # a mistake was done assert salary > 0 ``` 在程序執行期間,犯了一個錯誤。 薪水變成負數。 ```py $ ./assert_kwd.py Traceback (most recent call last): File "./assert_kwd.py", line 8, in <module> assert salary > 0 AssertionError ``` `AssertionError`無法執行腳本。 `class`關鍵字用于創建新的用戶定義對象。 `class_kwd.py` ```py #!/usr/bin/env python # class_kwd.py class Square: def __init__(self, x): self.a = x def area(self): print(self.a * self.a) sq = Square(12) sq.area() ``` 在代碼示例中,我們創建一個新的`Square`類。 然后,我們實例化該類并創建一個對象。 我們計算方形物體的面積。 `exec`關鍵字動態執行 Python 代碼。 `exec_kwd.py` ```py #!/usr/bin/env python # exec_kwd.py exec("for i in [1, 2, 3, 4, 5]: print(i, end=' ')") ``` 我們使用`for`循環從列表中打印五個數字; 全部都在`exec`關鍵字內。 ```py $ ./exec_kwd.py 1 2 3 4 5 ``` 這是示例輸出。 接下來,我們提到`in`關鍵字。 關鍵字測試序列中是否存在值。 `in_kwd.py` ```py #!/usr/bin/env python # in_kwd.py print(4 in (2, 3, 5, 6)) for i in range(25): print(i, end=" ") print() ``` 在此示例中,`in`關鍵字測試數字 4 是否在元組中。 第二種用法是在`for`循環中遍歷元組。 內置函數`range()`返回整數`0..24`。 ```py $ ./in_kwd.py False 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ``` `yield`關鍵字與生成器一起使用。 `yield_kwd.py` ```py #!/usr/bin/env python # yield_kwd.py def gen(): x = 11 yield x it = gen() print(it.__next__()) ``` `yield`關鍵字退出生成器并返回一個值。 ```py $ ./yield_kwd.py 11 ``` 在 Python 教程的這一部分中,我們介紹了 Python 關鍵字。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看