<ruby id="27277"></ruby>

<meter id="27277"></meter>
      <menuitem id="27277"></menuitem>

      1. 葵花寶典教程,一個自學編程平臺

        葵花寶典教程,一個自學編程平臺

        Python - 循環

        一般來說,語句是按順序執行的:函數中的第一條語句首先執行,然后是第二條,依此類推??赡艽嬖谛枰啻螆绦幸欢未a的情況。


        編程語言提供了各種控制結構,允許更復雜的執行路徑。


        循環語句允許我們多次執行一條語句或一組語句。下圖說明了一個循環語句 -


        循環架構

        Python 編程語言提供以下類型的循環來處理循環要求。


        編號 循環類型和描述

        1 while 循環

        當給定條件為 TRUE 時重復一個語句或一組語句。它在執行循環體之前測試條件。


        2 for 循環

        多次執行一系列語句并縮寫管理循環變量的代碼。


        3 嵌套循環

        您可以在任何另一個 while、for 或 do..while 循環中使用一個或多個循環。


        循環控制語句

        循環控制語句改變其正常順序的執行。當執行離開一個范圍時,在該范圍內創建的所有自動對象都將被銷毀。


        Python 支持以下控制語句。單擊以下鏈接以查看其詳細信息。


        讓我們簡要介紹一下循環控制語句


        編號 控制聲明和說明

        1 中斷語句

        終止循環語句并將執行轉移到緊隨循環之后的語句。


        2 繼續聲明

        使循環跳過其主體的其余部分并在重新迭代之前立即重新測試其條件。


        3 通過聲明

        Python 中的 pass 語句用于語法上需要語句但您不希望執行任何命令或代碼時。


        Python - 決策制定

        決策是對程序執行時發生的條件的預測,并指定根據條件采取的行動。


        決策結構評估產生 TRUE 或 FALSE 作為結果的多個表達式。如果結果為 TRUE 或 FALSE,您需要確定要采取的操作以及要執行的語句。


        以下是大多數編程語言中典型決策結構的一般形式 -

        decision_making.jpg

        Python 中的決策語句

        Python 編程語言將任何非零和非空值假定為 TRUE,如果它是零或null,則假定為 FALSE 值。


        Python 編程語言提供以下類型的決策語句。單擊以下鏈接以查看其詳細信息。


        編號 聲明和說明

        1 if 語句

        if 語句由一個布爾表達式和一個或多個語句組成。


        2 if...else 語句

        if 語句后面可以跟可選的else語句,當布爾表達式為 FALSE 時執行。


        3 嵌套 if 語句

        您可以在另一個if或else if語句中使用一個if或else if語句。


        讓我們簡要介紹一下每個決策 -


        單人陳述套房

        如果if子句套件僅包含一行,則它可能與標題語句位于同一行。


        這是單行 if子句的示例 -


        現場演示

        #!/usr/bin/python


        var = 100

        if ( var == 100 ) : print "Value of expression is 100"

        print "Good bye!"

        執行上述代碼時,會產生以下結果 -


        Value of expression is 100

        Good bye!


        Python - 基本運算符

        運算符是可以操縱操作數的值的構造。


        考慮表達式 4 + 5 = 9。這里,4 和 5 稱為操作數,+ 稱為運算符。


        運算符類型

        Python 語言支持以下類型的運算符。


        算術運算符

        比較(關系)運算符

        賦值運算符

        邏輯運算符

        位運算符

        會員運營商

        身份運算符

        讓我們一一了解所有運算符。


        Python算術運算符

        假設變量 a 為 10,變量 b 為 20,則 -


        [顯示示例]


        操作員 描述 例子

        + 加法 在運算符的任一側添加值。 a + b = 30

        - 減法 從左手操作數中減去右手操作數。 a – b = -10

        * 乘法 將運算符兩邊的值相乘 a * b = 200

        / 分配 將左手操作數除以右手操作數 b / a = 2

        % 模量 將左手操作數除以右手操作數并返回余數 b % a = 0

        ** 指數 對算子執行指數(冪)計算 a**b =10 的 20 次方

        // Floor Division - 操作數的除法,其結果是除去小數點后的數字的商。但是,如果其中一個操作數為負數,則結果為下限,即從零四舍五入(向負無窮大) - 9//2 = 4 和 9.0//2.0 = 4.0,-11//3 = -4,-11.0//3 = -4.0

        Python 比較運算符

        這些運算符比較它們兩側的值并確定它們之間的關系。它們也稱為關系運算符。


        假設變量 a 為 10,變量 b 為 20,則 -


        [顯示示例]


        操作員 描述 例子

        == 如果兩個操作數的值相等,則條件成立。 (a == b) 不正確。

        != 如果兩個操作數的值不相等,則條件為真。 (a != b) 是真的。

        <> 如果兩個操作數的值不相等,則條件為真。 (a <> b) 是真的。這類似于 != 運算符。

        > 如果左操作數的值大于右操作數的值,則條件為真。 (a > b) 不正確。

        < 如果左操作數的值小于右操作數的值,則條件為真。 (a < b) 為真。

        >= 如果左操作數的值大于或等于右操作數的值,則條件為真。 (a >= b) 不正確。

        <= 如果左操作數的值小于或等于右操作數的值,則條件為真。 (a <= b) 是真的。

        Python 賦值運算符

        假設變量 a 為 10,變量 b 為 20,則 -


        [顯示示例]


        操作員 描述 例子

        = 將右側操作數的值分配給左側操作數 c = a + b 將 a + b 的值賦給 c

        += 添加 AND 它將右操作數添加到左操作數并將結果分配給左操作數 c += a 等價于 c = c + a

        -= 減和 它從左操作數中減去右操作數并將結果分配給左操作數 c -= a 等價于 c = c - a

        *= 乘與 它將右操作數與左操作數相乘并將結果分配給左操作數 c *= a 等價于 c = c * a

        /= 除以 AND 它將左操作數與右操作數相除并將結果分配給左操作數 c /= a 等價于 c = c / a

        %= 模數與 它使用兩個操作數取模并將結果分配給左操作數 c %= a 等價于 c = c % a

        **= 指數與 對運算符執行指數(冪)計算并將值分配給左操作數 c **= a 等價于 c = c ** a

        //= 樓層劃分 它對運算符執行地板除法并將值分配給左操作數 c //= a 等價于 c = c // a

        Python 位運算符

        位運算符對位起作用并執行逐位運算。假設 a = 60;和 b = 13; 現在在二進制格式中,它們的值將分別為 0011 1100 和 0000 1101。下表列出了 Python 語言支持的按位運算符,每個運算符都有一個示例,我們使用上述兩個變量(a 和 b)作為操作數 -


        一個 = 0011 1100


        b = 0000 1101


        -----------------


        a&b = 0000 1100


        a|b = 0011 1101


        a^b = 0011 0001


        ~a = 1100 0011


        Python 語言支持以下按位運算符


        [顯示示例]


        操作員 描述 例子

        & 二進制與 如果兩個操作數中都存在,則運算符將位復制到結果中 (a & b) (表示 0000 1100)

        | 二進制或 如果它存在于任一操作數中,它會復制一點。 (a | b) = 61(表示 0011 1101)

        ^ 二進制異或 如果它在一個操作數中設置,它會復制該位,但不是在兩個操作數中都設置。 (a ^ b) = 49(表示 0011 0001)

        ~ 二進制補碼 它是一元的,具有“翻轉”位的效果。 (~a ) = -61 (由于有符號二進制數,表示 1100 0011 為 2 的補碼形式。

        << 二進制左移 左操作數的值向左移動右操作數指定的位數。 a << 2 = 240(表示 1111 0000)

        >> 二進制右移 左操作數的值向右移動右操作數指定的位數。 a >> 2 = 15(表示 0000 1111)

        Python 邏輯運算符

        Python 語言支持以下邏輯運算符。假設變量 a 保持 10 并且變量 b 保持 20 然后


        [顯示示例]


        操作員 描述 例子

        和邏輯與 如果兩個操作數都為真,則條件為真。 (a 和 b) 是正確的。

        或邏輯或 如果兩個操作數中的任何一個不為零,則條件為真。 (a 或 b) 為真。

        非邏輯非 用于反轉其操作數的邏輯狀態。 Not(a and b) 是假的。

        Python 成員運算符

        Python 的成員資格運算符測試序列中的成員資格,例如字符串、列表或元組。有兩個會員運營商,如下所述 -


        [顯示示例]


        操作員 描述 例子

        如果找到指定序列中的變量,則評估為 true,否則評估為 false。 x in y,如果 x 是序列 y 的成員,則結果為 1。

        不在 如果在指定序列中未找到變量,則評估為 true,否則評估為 false。 x 不在 y 中,如果 x 不是序列 y 的成員,則這里 not in 結果為 1。

        Python 身份運算符

        恒等運算符比較兩個對象的內存位置。下面解釋了兩個身份運算符 -


        [顯示示例]


        操作員 描述 例子

        如果運算符兩側的變量指向同一對象,則計算結果為 true,否則計算結果為 false。 x 是 y,如果 id(x) 等于 id(y) ,則結果為 1。

        不是 如果運算符兩側的變量指向同一對象,則計算結果為 false,否則計算結果為 true。 x 不是 y,如果 id(x) 不等于 id(y) ,這里的結果不是1。

        Python 運算符優先級

        下表列出了從最高優先級到最低優先級的所有運算符。


        [顯示示例]


        編號 運營商和描述

        1

        **


        求冪(乘冪)


        2

        ~ + -


        補碼,一元加減(最后兩個的方法名是 +@ 和 -@)


        3

        * / % //


        乘法、除法、模數和底除法


        4

        + -


        加減


        5

        >> <<


        左右位移


        6

        &


        按位“與”


        7

        ^ |


        按位異或“或”和常規“或”


        8

        <= < > >=


        比較運算符


        9

        <> == !=


        等式運算符


        10

        = %= /= //= -= += *= **=


        賦值運算符


        11

        不是


        身份運算符


        12

        在 不在


        會員運營商


        13

        不是或和


        邏輯運算符


        Python - 變量類型

        變量只不過是用于存儲值的保留內存位置。這意味著當您創建一個變量時,您會在內存中保留一些空間。


        根據變量的數據類型,解釋器分配內存并決定可以在保留內存中存儲什么。因此,通過為變量分配不同的數據類型,您可以在這些變量中存儲整數、小數或字符。


        為變量賦值

        Python 變量不需要顯式聲明來保留內存空間。當您為變量賦值時,聲明會自動發生。等號 (=) 用于為變量賦值。


        = 運算符左側的操作數是變量的名稱,= 運算符右側的操作數是存儲在變量中的值。例如 -


        現場演示

        #!/usr/bin/python


        counter = 100          # An integer assignment

        miles   = 1000.0       # A floating point

        name    = "John"       # A string


        print counter

        print miles

        print name

        在這里,100、1000.0 和“John”分別是分配給counter、miles和name變量的值。這會產生以下結果 -


        100

        1000.0

        John

        多重賦值

        Python 允許您同時為多個變量分配一個值。例如 -


        a = b = c = 1

        在這里,創建了一個值為 1 的整數對象,并將所有三個變量分配到相同的內存位置。您還可以將多個對象分配給多個變量。例如 -


        a,b,c = 1,2,"john"

        這里,兩個值為 1 和 2 的整數對象分別分配給變量 a 和 b,一個值為“john”的字符串對象分配給變量 c。


        標準數據類型

        存儲在內存中的數據可以有多種類型。例如,一個人的年齡存儲為一個數值,他或她的地址存儲為字母數字字符。Python 有各種標準數據類型,用于定義對它們可能進行的操作以及每種數據的存儲方法。


        Python 有五種標準數據類型 -


        數字

        細繩

        列表

        元組

        字典

        Python 數字

        數字數據類型存儲數值。Number 對象是在您為其賦值時創建的。例如 -


        var1 = 1

        var2 = 10

        您還可以使用 del 語句刪除對數字對象的引用。del 語句的語法是 -


        del var1[,var2[,var3[....,varN]]]]

        您可以使用 del 語句刪除單個對象或多個對象。例如 -


        del var

        del var_a, var_b

        Python 支持四種不同的數值類型 -


        int(有符號整數)

        long(長整數,也可以用八進制和十六進制表示)

        float(浮點實數值)

        復數(復數)

        例子

        以下是一些數字示例 -


        整數 漂浮 復雜的

        10 51924361L 0.0 3.14j

        100 -0x19323L 15.20 45.j

        -786 0122L -21.9 9.322e-36j

        080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j

        -0490 535633629843L -90。 -.6545+0J

        -0x260 -052318172735L -32.54e100 3e+26J

        0x69 -4721885298529L 70.2-E12 4.53e-7j

        Python 允許您將小寫的 l 與 long 一起使用,但建議您僅使用大寫的 L 以避免與數字 1 混淆。Python 使用大寫的 L 顯示長整數。


        復數由一對有序的實數浮點數組成,用 x + yj 表示,其中 x 和 y 是實數,j 是虛數單位。


        Python 字符串

        Python 中的字符串被標識為引號中表示的一組連續字符。Python 允許使用成對的單引號或雙引號??梢允褂们衅\算符([ ] 和 [:] )獲取字符串的子集,索引從字符串開頭的 0 開始,最后從 -1 開始。


        加號 (+) 是字符串連接運算符,星號 (*) 是重復運算符。例如 -


        現場演示

        #!/usr/bin/python


        str = 'Hello World!'


        print str          # Prints complete string

        print str[0]       # Prints first character of the string

        print str[2:5]     # Prints characters starting from 3rd to 5th

        print str[2:]      # Prints string starting from 3rd character

        print str * 2      # Prints string two times

        print str + "TEST" # Prints concatenated string

        這將產生以下結果 -


        Hello World!

        H

        llo

        llo World!

        Hello World!Hello World!

        Hello World!TEST

        Python 列表

        列表是 Python 中最通用的復合數據類型。列表包含用逗號分隔并括在方括號 ([]) 中的項目。在某種程度上,列表類似于 C 中的數組。它們之間的一個區別是屬于列表的所有項目可以是不同的數據類型。


        可以使用切片運算符([ ] 和 [:])訪問存儲在列表中的值,索引從列表開頭的 0 開始,并以它們的方式結束 -1。加號 (+) 是列表連接運算符,星號 (*) 是重復運算符。例如 -


        #!/usr/bin/python


        list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]

        tinylist = [123, 'john']


        print list          # Prints complete list

        print list[0]       # Prints first element of the list

        print list[1:3]     # Prints elements starting from 2nd till 3rd 

        print list[2:]      # Prints elements starting from 3rd element

        print tinylist * 2  # Prints list two times

        print list + tinylist # Prints concatenated lists

        這會產生以下結果 -


        ['abcd', 786, 2.23, 'john', 70.2]

        abcd

        [786, 2.23]

        [2.23, 'john', 70.2]

        [123, 'john', 123, 'john']

        ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

        Python 元組

        元組是另一種類似于列表的序列數據類型。元組由多個用逗號分隔的值組成。然而,與列表不同的是,元組用括號括起來。


        列表和元組之間的主要區別是:列表括在方括號 ( [ ] ) 中,并且它們的元素和大小可以更改,而元組括在括號 ( ( ) ) 中并且不能更新。元組可以被認為是只讀列表。例如 -


        現場演示

        #!/usr/bin/python


        tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )

        tinytuple = (123, 'john')


        print tuple               # Prints the complete tuple

        print tuple[0]            # Prints first element of the tuple

        print tuple[1:3]          # Prints elements of the tuple starting from 2nd till 3rd 

        print tuple[2:]           # Prints elements of the tuple starting from 3rd element

        print tinytuple * 2       # Prints the contents of the tuple twice

        print tuple + tinytuple   # Prints concatenated tuples

        這會產生以下結果 -


        ('abcd', 786, 2.23, 'john', 70.2)

        abcd

        (786, 2.23)

        (2.23, 'john', 70.2)

        (123, 'john', 123, 'john')

        ('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

        以下代碼對元組無效,因為我們試圖更新一個元組,這是不允許的。列表可能會出現類似情況 -


        #!/usr/bin/python


        tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )

        list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]

        tuple[2] = 1000    # Invalid syntax with tuple

        list[2] = 1000     # Valid syntax with list

        Python字典

        Python 的字典是一種哈希表類型。它們像 Perl 中的關聯數組或散列一樣工作,由鍵值對組成。字典鍵幾乎可以是任何 Python 類型,但通常是數字或字符串。另一方面,值可以是任意 Python 對象。


        字典用大括號 ({ }) 括起來,并且可以使用方括號 ([]) 分配和訪問值。例如 -


        現場演示

        #!/usr/bin/python


        dict = {}

        dict['one'] = "This is one"

        dict[2]     = "This is two"


        tinydict = {'name': 'john','code':6734, 'dept': 'sales'}



        print dict['one']       # Prints value for 'one' key

        print dict[2]           # Prints value for 2 key

        print tinydict          # Prints complete dictionary

        print tinydict.keys()   # Prints all the keys

        print tinydict.values() # Prints all the values

        這會產生以下結果 -


        This is one

        This is two

        {'dept': 'sales', 'code': 6734, 'name': 'john'}

        ['dept', 'code', 'name']

        ['sales', 6734, 'john']

        字典沒有元素之間的順序概念。說元素“亂序”是不正確的;它們只是無序的。


        數據類型轉換

        有時,您可能需要在內置類型之間執行轉換。要在類型之間進行轉換,您只需將類型名稱用作函數。


        有幾個內置函數可以執行從一種數據類型到另一種數據類型的轉換。這些函數返回一個表示轉換后的值的新對象。


        編號 功能說明

        1

        整數(x [,基數])


        將 x 轉換為整數。如果 x 是字符串,base 指定基數。


        2

        長(x [,base] )


        將 x 轉換為長整數。如果 x 是字符串,base 指定基數。


        3

        浮動(x)


        將 x 轉換為浮點數。


        4

        復數(實數 [,imag])


        創建一個復數。


        5

        字符串(x)


        將對象 x 轉換為字符串表示形式。


        6

        代表(x)


        將對象 x 轉換為表達式字符串。


        7

        評估(字符串)


        計算一個字符串并返回一個對象。


        8

        元組


        將 s 轉換為元組。


        9

        列表


        將 s 轉換為列表。


        10

        套)


        將 s 轉換為集合。


        11

        聽寫(d)


        創建字典。d 必須是 (key,value) 元組的序列。


        12

        凍結集


        將 s 轉換為凍結集。


        13

        chr(x)


        將整數轉換為字符。


        14

        unichr(x)


        將整數轉換為 Unicode 字符。


        15

        排序(x)


        將單個字符轉換為其整數值。


        16

        十六進制(x)


        將整數轉換為十六進制字符串。


        17

        八月(x)


        將整數轉換為八進制字符串。


        Python - 基本語法

        Python 語言與 Perl、C 和 Java 有許多相似之處。但是,語言之間存在一些明確的差異。


        第一個 Python 程序

        讓我們以不同的編程模式執行程序。


        交互模式編程

        在不將腳本文件作為參數傳遞的情況下調用解釋器會出現以下提示 -


        $ python

        Python 2.4.3 (#1, Nov 11 2010, 13:34:43)

        [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2

        Type "help", "copyright", "credits" or "license" for more information.

        >>>

        在 Python 提示符下鍵入以下文本,然后按 Enter -


        >>> print "Hello, Python!"

        如果您正在運行新版本的 Python,那么您需要使用帶括號的 print 語句,如print ("Hello, Python!"); . 但是在 Python 2.4.3 版本中,這會產生以下結果 -


        Hello, Python!

        腳本模式編程

        使用腳本參數調用解釋器開始執行腳本并繼續執行,直到腳本完成。腳本完成后,解釋器不再處于活動狀態。


        讓我們在腳本中編寫一個簡單的 Python 程序。Python 文件的擴展名為.py。在 test.py 文件中鍵入以下源代碼 -


        現場演示

        print "Hello, Python!"

        我們假設您在 PATH 變量中設置了 Python 解釋器?,F在,嘗試按如下方式運行該程序 -


        $ python test.py

        這會產生以下結果 -


        Hello, Python!

        讓我們嘗試另一種方式來執行 Python 腳本。這是修改后的 test.py 文件 -


        現場演示

        #!/usr/bin/python


        print "Hello, Python!"

        我們假設您在 /usr/bin 目錄中有可用的 Python 解釋器?,F在,嘗試按如下方式運行該程序 -


        $ chmod +x test.py     # This is to make file executable

        $./test.py

        這會產生以下結果 -


        Hello, Python!

        Python 標識符

        Python 標識符是用于標識變量、函數、類、模塊或其他對象的名稱。標識符以字母 A 到 Z 或 a 到 z 或下劃線 (_) 開頭,后跟零個或多個字母、下劃線和數字(0 到 9)。


        Python 不允許在標識符中使用標點符號,例如 @、$ 和 %。Python 是一種區分大小寫的編程語言。因此,Manpower和manpower在 Python 中是兩個不同的標識符。


        以下是 Python 標識符的命名約定 -


        類名以大寫字母開頭。所有其他標識符都以小寫字母開頭。


        以單個前導下劃線開頭的標識符表示該標識符是私有的。


        以兩個前導下劃線開頭的標識符表示高度私有的標識符。


        如果標識符也以兩個尾隨下劃線結尾,則標識符是語言定義的特殊名稱。


        保留字

        以下列表顯示了 Python 關鍵字。這些是保留字,您不能將它們用作常量或變量或任何其他標識符名稱。所有 Python 關鍵字僅包含小寫字母。


        執行 不是

        斷言 最后 要么

        休息 為了 經過

        班級 打印

        繼續 全球的 增加

        定義 如果 返回

        德爾 進口 嘗試

        小精靈 盡管

        別的

        除了 拉姆達 屈服

        線條和縮進

        Python 沒有提供大括號來指示類和函數定義或流控制的代碼塊。代碼塊由行縮進表示,這是嚴格執行的。


        縮進中的空格數是可變的,但塊中的所有語句必須縮進相同的數量。例如 -


        if True:

           print "True"

        else:

           print "False"

        但是,以下塊會產生錯誤 -


        if True:

        print "Answer"

        print "True"

        else:

        print "Answer"

        print "False"

        因此,在 Python 中,所有縮進相同數量空格的連續行將形成一個塊。以下示例具有各種語句塊 -


        注意- 此時不要試圖理解邏輯。只要確保您理解各種塊,即使它們沒有大括號。


        #!/usr/bin/python


        import sys


        try:

           # open file stream

           file = open(file_name, "w")

        except IOError:

           print "There was an error writing to", file_name

           sys.exit()

        print "Enter '", file_finish,

        print "' When finished"

        while file_text != file_finish:

           file_text = raw_input("Enter text: ")

           if file_text == file_finish:

              # close the file

              file.close

              break

           file.write(file_text)

           file.write("\n")

        file.close()

        file_name = raw_input("Enter filename: ")

        if len(file_name) == 0:

           print "Next time please enter something"

           sys.exit()

        try:

           file = open(file_name, "r")

        except IOError:

           print "There was an error reading file"

           sys.exit()

        file_text = file.read()

        file.close()

        print file_text

        多行語句

        Python 中的語句通常以新行結束。然而,Python 允許使用行繼續符 (\) 來表示該行應該繼續。例如 -


        total = item_one + \

                item_two + \

                item_three

        []、{} 或 () 括號內的語句不需要使用續行符。例如 -


        days = ['Monday', 'Tuesday', 'Wednesday',

                'Thursday', 'Friday']

        Python中的引用

        Python 接受單引號 (')、雙引號 (") 和三引號 (''' 或 """) 來表示字符串文字,只要相同類型的引號開始和結束字符串。


        三引號用于跨多行跨越字符串。例如,以下所有內容都是合法的 -


        word = 'word'

        sentence = "This is a sentence."

        paragraph = """This is a paragraph. It is

        made up of multiple lines and sentences."""

        Python 中的注釋

        不在字符串文字內的井號 (#) 開始注釋。# 之后直到物理行末尾的所有字符都是注釋的一部分,Python 解釋器會忽略它們。


        現場演示

        #!/usr/bin/python


        # First comment

        print "Hello, Python!" # second comment

        這會產生以下結果 -


        Hello, Python!

        您可以在語句或表達式之后的同一行上鍵入注釋 -


        name = "Madisetti" # This is again comment

        您可以如下評論多行 -


        # This is a comment.

        # This is a comment, too.

        # This is a comment, too.

        # I said that already.

        Python 解釋器也會忽略以下三引號字符串,并可用作多行注釋:


        '''

        This is a multiline

        comment.

        '''

        使用空行

        僅包含空格(可能帶有注釋)的行稱為空行,Python 完全忽略它。


        在交互式解釋器會話中,您必須輸入一個空的物理行來終止多行語句。


        等待用戶

        程序的以下行顯示提示,語句為“Press the enter key to exit”,并等待用戶采取行動 -


        #!/usr/bin/python


        raw_input("\n\nPress the enter key to exit.")

        這里,“\n\n”用于在顯示實際行之前創建兩個新行。一旦用戶按下該鍵,程序就結束。這是一個很好的技巧,可以在用戶完成應用程序之前保持控制臺窗口打開。


        單行上的多個語句

        分號 ( ; ) 允許在單行上有多個語句,因為這兩個語句都不啟動新的代碼塊。這是使用分號的示例片段 -


        import sys; x = 'foo'; sys.stdout.write(x + '\n')

        多語句組作為套件

        一組單獨的語句組成一個代碼塊,在 Python中稱為套件。復合或復雜語句,例如 if、while、def 和 class 需要標題行和套件。


        標題行以語句開頭(使用關鍵字)并以冒號 ( : ) 結尾,然后是組成套件的一行或多行。例如 -


        if expression : 

           suite

        elif expression : 

           suite 

        else : 

           suite

        命令行參數

        可以運行許多程序來為您提供一些關于它們應該如何運行的基本信息。Python 使您可以使用 -h 執行此操作 -


        $ python -h

        usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...

        Options and arguments (and corresponding environment variables):

        -c cmd : program passed in as string (terminates option list)

        -d     : debug output from parser (also PYTHONDEBUG=x)

        -E     : ignore environment variables (such as PYTHONPATH)

        -h     : print this help message and exit


        [ etc. ]

        您還可以對腳本進行編程,使其接受各種選項。命令行參數是一個高級主題,一旦你了解了 Python 的其余概念,就應該稍后再學習。


        Python - 環境設置

        Python 可在各種平臺上使用,包括 Linux 和 Mac OS X。讓我們了解如何設置 Python 環境。


        本地環境設置

        打開終端窗口并鍵入“python”以查看它是否已安裝以及安裝了哪個版本。


        Unix(Solaris、Linux、FreeBSD、AIX、HP/UX、SunOS、IRIX 等)

        贏得 9x/NT/2000

        Macintosh(英特爾、PPC、68K)

        操作系統/2

        DOS(多個版本)

        掌上操作系統

        諾基亞手機

        視窗 CE

        橡子/RISC 操作系統

        操作系統

        阿米加

        虛擬機/OpenVMS

        QNX

        VxWorks

        心靈術士

        Python 也已移植到 Java 和 .NET 虛擬機

        獲取 Python

        最新和最新的源代碼、二進制文件、文檔、新聞等,可在 Python 的官方網站https://www.python.org/


        您可以從https://www.python.org/doc/下載 Python 文檔。該文檔以 HTML、PDF 和 PostScript 格式提供。


        安裝 Python

        Python 發行版可用于各種平臺。您只需下載適用于您的平臺的二進制代碼并安裝 Python。


        如果您的平臺的二進制代碼不可用,您需要一個 C 編譯器來手動編譯源代碼。編譯源代碼在選擇安裝所需的功能方面提供了更大的靈活性。


        這是在各種平臺上安裝 Python 的快速概述 -


        Unix 和 Linux 安裝

        以下是在 Unix/Linux 機器上安裝 Python 的簡單步驟。


        打開 Web 瀏覽器并轉到https://www.python.org/downloads/。


        按照鏈接下載可用于 Unix/Linux 的壓縮源代碼。


        下載并解壓文件。


        如果要自定義某些選項,請編輯Modules/Setup文件。


        運行 ./configure 腳本


        制作


        進行安裝


        這會將 Python 安裝在標準位置/usr/local/bin及其庫在/usr/local/lib/pythonXX,其中 XX 是 Python 的版本。


        視窗安裝

        以下是在 Windows 機器上安裝 Python 的步驟。


        打開 Web 瀏覽器并轉到https://www.python.org/downloads/。


        按照 Windows 安裝程序python-XYZ.msi文件的鏈接,其中 XYZ 是您需要安裝的版本。


        要使用此安裝程序python-XYZ.msi,Windows 系統必須支持 Microsoft Installer 2.0。將安裝程序文件保存到您的本地計算機,然后運行它以查看您的計算機是否支持 MSI。


        運行下載的文件。這會調出 Python 安裝向導,它非常易于使用。只需接受默認設置,等到安裝完成,您就完成了。


        麥金塔安裝

        最近的 Mac 都安裝了 Python,但它可能已經過時了好幾年。請參閱http://www.python.org/download/mac/獲取有關獲取當前版本以及支持 Mac 上開發的額外工具的說明。對于 Mac OS X 10.3(2003 年發布)之前的舊 Mac OS,可以使用 MacPython。


        Jack Jansen 維護它,您可以在他的網站上完全訪問整個文檔 - http://www.cwi.nl/~jack/macpython.html。您可以找到 Mac OS 安裝的完整安裝詳細信息。


        設置路徑

        程序和其他可執行文件可以位于許多目錄中,因此操作系統提供了一個搜索路徑,其中列出了操作系統搜索可執行文件的目錄。


        路徑存儲在環境變量中,該變量是操作系統維護的命名字符串。此變量包含可用于命令 shell 和其他程序的信息。


        路徑變量在Unix 中命名為 PATH 或在 Windows 中命名為 Path(Unix 區分大小寫;Windows 不區分)。


        在 Mac OS 中,安裝程序會處理路徑詳細信息。要從任何特定目錄調用 Python 解釋器,您必須將 Python 目錄添加到您的路徑中。


        在 Unix/Linux 上設置路徑

        將 Python 目錄添加到 Unix 中特定會話的路徑 -


        在 csh shell - 鍵入 setenv PATH "$PATH:/usr/local/bin/python" 并按 Enter。


        在 bash shell (Linux) - 鍵入 export PATH="$PATH:/usr/local/bin/python" 并按 Enter。


        在 sh 或 ksh shell - 鍵入 PATH="$PATH:/usr/local/bin/python" 并按 Enter。


        注意- /usr/local/bin/python 是 Python 目錄的路徑


        在 Windows 中設置路徑

        將 Python 目錄添加到 Windows 中特定會話的路徑 -


        在命令提示符處- 鍵入路徑 %path%;C:\Python 并按 Enter。


        注意- C:\Python 是 Python 目錄的路徑


        Python 環境變量

        以下是 Python 可以識別的重要環境變量 -


        編號 變量和描述

        1

        蟒蛇路徑


        它的作用類似于 PATH。這個變量告訴 Python 解釋器在哪里找到導入到程序中的模塊文件。它應該包括 Python 源庫目錄和包含 Python 源代碼的目錄。PYTHONPATH 有時由 Python 安裝程序預設。


        2

        Python啟動


        它包含包含 Python 源代碼的初始化文件的路徑。每次啟動解釋器時都會執行它。它在 Unix 中被命名為 .pythonrc.py,它包含加載實用程序或修改 PYTHONPATH 的命令。


        3

        蟒蛇


        它在 Windows 中用于指示 Python 在導入語句中查找第一個不區分大小寫的匹配項。將此變量設置為任何值以激活它。


        4

        蟒蛇之家


        這是一個替代模塊搜索路徑。它通常嵌入在 PYTHONSTARTUP 或 PYTHONPATH 目錄中,以便輕松切換模塊庫。


        運行 Python

        有三種不同的方式來啟動 Python -


        交互式口譯員

        您可以從 Unix、DOS 或任何其他為您提供命令行解釋器或 shell 窗口的系統啟動 Python。


        在命令行輸入python 。


        立即在交互式解釋器中開始編碼。


        $python # Unix/Linux

        or

        python% # Unix/Linux

        or

        C:> python # Windows/DOS

        這是所有可用命令行選項的列表 -


        編號 選項和說明

        1

        -d


        它提供調試輸出。


        2

        -O


        它生成優化的字節碼(生成 .pyo 文件)。


        3

        -S


        不要在啟動時運行導入站點來查找 Python 路徑。


        4

        -v


        詳細輸出(導入語句的詳細跟蹤)。


        5

        -X


        禁用基于類的內置異常(只使用字符串);從 1.6 版開始已過時。


        6

        -c 命令


        運行作為 cmd 字符串發送的 Python 腳本


        7

        文件


        從給定文件運行 Python 腳本


        命令行中的腳本

        通過在應用程序上調用解釋器,可以在命令行執行 Python 腳本,如下所示 -


        $python script.py # Unix/Linux


        or


        python% script.py # Unix/Linux


        or 


        C: >python script.py # Windows/DOS

        注意- 確保文件權限模式允許執行。


        集成開發環境

        如果您的系統上有支持 Python 的 GUI 應用程序,您也可以從圖形用戶界面 (GUI) 環境運行 Python。


        Unix - IDLE 是第一個用于 Python 的 Unix IDE。


        Windows - PythonWin 是 Python 的第一個 Windows 界面,是一個帶有 GUI 的 IDE。


        Macintosh - Macintosh 版本的 Python 和 IDLE IDE 可從主網站獲得,可作為 MacBinary 或 BinHex'd 文件下載。


        如果您無法正確設置環境,則可以向系統管理員尋求幫助。確保 Python 環境設置正確并且運行良好。


        注意- 后續章節中給出的所有示例均使用 CentOS 風格的 Linux 上可用的 Python 2.4.3 版本執行。


        我們已經在線搭建了 Python 編程環境,讓您在學習理論的同時可以在線執行所有可用的示例。隨意修改任何示例并在線執行。


        Python - 環境設置

        Python 可在各種平臺上使用,包括 Linux 和 Mac OS X。讓我們了解如何設置 Python 環境。


        本地環境設置

        打開終端窗口并鍵入“python”以查看它是否已安裝以及安裝了哪個版本。


        Unix(Solaris、Linux、FreeBSD、AIX、HP/UX、SunOS、IRIX 等)

        贏得 9x/NT/2000

        Macintosh(英特爾、PPC、68K)

        操作系統/2

        DOS(多個版本)

        掌上操作系統

        諾基亞手機

        視窗 CE

        橡子/RISC 操作系統

        操作系統

        阿米加

        虛擬機/OpenVMS

        QNX

        VxWorks

        心靈術士

        Python 也已移植到 Java 和 .NET 虛擬機

        獲取 Python

        最新和最新的源代碼、二進制文件、文檔、新聞等,可在 Python 的官方網站https://www.python.org/


        您可以從https://www.python.org/doc/下載 Python 文檔。該文檔以 HTML、PDF 和 PostScript 格式提供。


        安裝 Python

        Python 發行版可用于各種平臺。您只需下載適用于您的平臺的二進制代碼并安裝 Python。


        如果您的平臺的二進制代碼不可用,您需要一個 C 編譯器來手動編譯源代碼。編譯源代碼在選擇安裝所需的功能方面提供了更大的靈活性。


        這是在各種平臺上安裝 Python 的快速概述 -


        Unix 和 Linux 安裝

        以下是在 Unix/Linux 機器上安裝 Python 的簡單步驟。


        打開 Web 瀏覽器并轉到https://www.python.org/downloads/。


        按照鏈接下載可用于 Unix/Linux 的壓縮源代碼。


        下載并解壓文件。


        如果要自定義某些選項,請編輯Modules/Setup文件。


        運行 ./configure 腳本


        制作


        進行安裝


        這會將 Python 安裝在標準位置/usr/local/bin及其庫在/usr/local/lib/pythonXX,其中 XX 是 Python 的版本。


        視窗安裝

        以下是在 Windows 機器上安裝 Python 的步驟。


        打開 Web 瀏覽器并轉到https://www.python.org/downloads/。


        按照 Windows 安裝程序python-XYZ.msi文件的鏈接,其中 XYZ 是您需要安裝的版本。


        要使用此安裝程序python-XYZ.msi,Windows 系統必須支持 Microsoft Installer 2.0。將安裝程序文件保存到您的本地計算機,然后運行它以查看您的計算機是否支持 MSI。


        運行下載的文件。這會調出 Python 安裝向導,它非常易于使用。只需接受默認設置,等到安裝完成,您就完成了。


        麥金塔安裝

        最近的 Mac 都安裝了 Python,但它可能已經過時了好幾年。請參閱http://www.python.org/download/mac/獲取有關獲取當前版本以及支持 Mac 上開發的額外工具的說明。對于 Mac OS X 10.3(2003 年發布)之前的舊 Mac OS,可以使用 MacPython。


        Jack Jansen 維護它,您可以在他的網站上完全訪問整個文檔 - http://www.cwi.nl/~jack/macpython.html。您可以找到 Mac OS 安裝的完整安裝詳細信息。


        設置路徑

        程序和其他可執行文件可以位于許多目錄中,因此操作系統提供了一個搜索路徑,其中列出了操作系統搜索可執行文件的目錄。


        路徑存儲在環境變量中,該變量是操作系統維護的命名字符串。此變量包含可用于命令 shell 和其他程序的信息。


        路徑變量在Unix 中命名為 PATH 或在 Windows 中命名為 Path(Unix 區分大小寫;Windows 不區分)。


        在 Mac OS 中,安裝程序會處理路徑詳細信息。要從任何特定目錄調用 Python 解釋器,您必須將 Python 目錄添加到您的路徑中。


        在 Unix/Linux 上設置路徑

        將 Python 目錄添加到 Unix 中特定會話的路徑 -


        在 csh shell - 鍵入 setenv PATH "$PATH:/usr/local/bin/python" 并按 Enter。


        在 bash shell (Linux) - 鍵入 export PATH="$PATH:/usr/local/bin/python" 并按 Enter。


        在 sh 或 ksh shell - 鍵入 PATH="$PATH:/usr/local/bin/python" 并按 Enter。


        注意- /usr/local/bin/python 是 Python 目錄的路徑


        在 Windows 中設置路徑

        將 Python 目錄添加到 Windows 中特定會話的路徑 -


        在命令提示符處- 鍵入路徑 %path%;C:\Python 并按 Enter。


        注意- C:\Python 是 Python 目錄的路徑


        Python 環境變量

        以下是 Python 可以識別的重要環境變量 -


        編號 變量和描述

        1

        蟒蛇路徑


        它的作用類似于 PATH。這個變量告訴 Python 解釋器在哪里找到導入到程序中的模塊文件。它應該包括 Python 源庫目錄和包含 Python 源代碼的目錄。PYTHONPATH 有時由 Python 安裝程序預設。


        2

        Python啟動


        它包含包含 Python 源代碼的初始化文件的路徑。每次啟動解釋器時都會執行它。它在 Unix 中被命名為 .pythonrc.py,它包含加載實用程序或修改 PYTHONPATH 的命令。


        3

        蟒蛇


        它在 Windows 中用于指示 Python 在導入語句中查找第一個不區分大小寫的匹配項。將此變量設置為任何值以激活它。


        4

        蟒蛇之家


        這是一個替代模塊搜索路徑。它通常嵌入在 PYTHONSTARTUP 或 PYTHONPATH 目錄中,以便輕松切換模塊庫。


        運行 Python

        有三種不同的方式來啟動 Python -


        交互式口譯員

        您可以從 Unix、DOS 或任何其他為您提供命令行解釋器或 shell 窗口的系統啟動 Python。


        在命令行輸入python 。


        立即在交互式解釋器中開始編碼。


        $python # Unix/Linux

        or

        python% # Unix/Linux

        or

        C:> python # Windows/DOS

        這是所有可用命令行選項的列表 -


        編號 選項和說明

        1

        -d


        它提供調試輸出。


        2

        -O


        它生成優化的字節碼(生成 .pyo 文件)。


        3

        -S


        不要在啟動時運行導入站點來查找 Python 路徑。


        4

        -v


        詳細輸出(導入語句的詳細跟蹤)。


        5

        -X


        禁用基于類的內置異常(只使用字符串);從 1.6 版開始已過時。


        6

        -c 命令


        運行作為 cmd 字符串發送的 Python 腳本


        7

        文件


        從給定文件運行 Python 腳本


        命令行中的腳本

        通過在應用程序上調用解釋器,可以在命令行執行 Python 腳本,如下所示 -


        $python script.py # Unix/Linux


        or


        python% script.py # Unix/Linux


        or 


        C: >python script.py # Windows/DOS

        注意- 確保文件權限模式允許執行。


        集成開發環境

        如果您的系統上有支持 Python 的 GUI 應用程序,您也可以從圖形用戶界面 (GUI) 環境運行 Python。


        Unix - IDLE 是第一個用于 Python 的 Unix IDE。


        Windows - PythonWin 是 Python 的第一個 Windows 界面,是一個帶有 GUI 的 IDE。


        Macintosh - Macintosh 版本的 Python 和 IDLE IDE 可從主網站獲得,可作為 MacBinary 或 BinHex'd 文件下載。


        如果您無法正確設置環境,則可以向系統管理員尋求幫助。確保 Python 環境設置正確并且運行良好。


        注意- 后續章節中給出的所有示例均使用 CentOS 風格的 Linux 上可用的 Python 2.4.3 版本執行。


        我們已經在線搭建了 Python 編程環境,讓您在學習理論的同時可以在線執行所有可用的示例。隨意修改任何示例并在線執行。


        Python - 概述

        Python 是一種高級的、解釋性的、交互式的和面向對象的腳本語言。Python 被設計為具有高度可讀性。它經常使用英語關鍵字,而其他語言使用標點符號,并且它的句法結構比其他語言少。


        • Python is Interpreted - Python 在運行時由解釋器處理。您無需在執行程序之前對其進行編譯。這類似于 PERL 和 PHP。


        • Python is Interactive - 您實際上可以坐在 Python 提示符下并直接與解釋器交互以編寫程序。


        • Python is Object-Oriented - Python 支持將代碼封裝在對象中的面向對象風格或編程技術。


        • Python is a Beginner's Language - Python 是初級程序員的一門很棒的語言,支持從簡單的文本處理到 WWW 瀏覽器再到游戲的各種應用程序的開發。


        Python的歷史

        Python 由 Guido van Rossum 在 80 年代末和 90 年代初在荷蘭國家數學和計算機科學研究所開發。


        Python 衍生自許多其他語言,包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk 以及 Unix shell 和其他腳本語言。


        Python 受版權保護。與 Perl 一樣,Python 源代碼現在可以在 GNU 通用公共許可證 (GPL) 下獲得。


        Python 現在由該研究所的一個核心開發團隊維護,盡管 Guido van Rossum 仍然在指導其進展方面發揮著至關重要的作用。


        Python 功能

        Python 的功能包括 -


        • Easy-to-learn - Python 關鍵字少,結構簡單,語法定義清晰。這使學生能夠快速掌握語言。


        • Easy-to-read - Python 代碼的定義更清晰,對眼睛可見。


        • Easy-to-maintain - Python 的源代碼相當容易維護。


        • 廣泛的標準庫- Python 的大部分庫在 UNIX、Windows 和 Macintosh 上非常便攜且跨平臺兼容。


        • 交互模式- Python 支持交互模式,允許交互測試和調試代碼片段。


        • Portable - Python 可以在各種硬件平臺上運行,并且在所有平臺上都具有相同的接口。


        • 可擴展- 您可以將低級模塊添加到 Python 解釋器。這些模塊使程序員能夠添加或定制他們的工具以提高效率。


        • Databases - Python 提供所有主要商業數據庫的接口。


        • GUI Programming - Python 支持可以創建并移植到許多系統調用、庫和 Windows 系統的 GUI 應用程序,例如 Windows MFC、Macintosh 和 Unix 的 X Window 系統。


        • Scalable - Python 為大型程序提供了比 shell 腳本更好的結構和支持。


        除了上述特性外,Python 還有一大堆好特性,下面列出的很少 -


        • 它支持函數式和結構化編程方法以及 OOP。


        • 它可以用作腳本語言,也可以編譯為字節碼以構建大型應用程序。


        • 它提供了非常高級的動態數據類型并支持動態類型檢查。


        • 它支持自動垃圾回收。


        • 它可以輕松地與 C、C++、COM、ActiveX、CORBA 和 Java 集成。


        Python 教程

        Python是一種通用的解釋型、交互式、面向對象的高級編程語言。它由 Guido van Rossum 在 1985-1990 年間創建。與 Perl 一樣,Python 源代碼也可以在 GNU 通用公共許可證 (GPL) 下獲得。教程對Python 編程語言有足夠的了解。

        為什么要學習 Python?

        Python是一種高級的、解釋性的、交互式的和面向對象的腳本語言。Python 被設計為具有高度可讀性。它經常使用英語關鍵字,而其他語言使用標點符號,并且它的句法結構比其他語言少。

        Python是學生和專業人士在 Web 開發領域工作時成為優秀軟件工程師的必備工具。我將列出學習 Python 的一些主要優勢:

        • Python is Interpreted - Python 在運行時由解釋器處理。您無需在執行程序之前對其進行編譯。這類似于 PERL 和 PHP。

        • Python is Interactive - 您實際上可以坐在 Python 提示符下并直接與解釋器交互以編寫程序。

        • Python is Object-Oriented - Python 支持將代碼封裝在對象中的面向對象風格或編程技術。

        • Python is a Beginner's Language - Python 是初級程序員的一門很棒的語言,支持從簡單的文本處理到 WWW 瀏覽器再到游戲的各種應用程序的開發。

        Python的特點

        以下是Python 編程的重要特征-

        • 它支持函數式和結構化編程方法以及 OOP。

        • 它可以用作腳本語言,也可以編譯為字節碼以構建大型應用程序。

        • 它提供了非常高級的動態數據類型并支持動態類型檢查。

        • 它支持自動垃圾回收。

        • 它可以輕松地與 C、C++、COM、ActiveX、CORBA 和 Java 集成。

        使用 Python 的 Hello World。

        只是為了讓大家對 Python 有一點點小興奮,我將給大家一個常規的 Python Hello World 小程序,大家可以使用 Demo 鏈接進行嘗試。

        print ("Hello, Python!");


        Python的應用

        如前所述,Python 是網絡上使用最廣泛的語言之一。我將在這里列出其中的幾個:

        • Easy-to-learn - Python 關鍵字少,結構簡單,語法定義清晰。這使學生能夠快速掌握語言。

        • Easy-to-read - Python 代碼的定義更清晰,對眼睛可見。

        • Easy-to-maintain - Python 的源代碼相當容易維護。

        • 廣泛的標準庫- Python 的大部分庫在 UNIX、Windows 和 Macintosh 上非常便攜且跨平臺兼容。

        • 交互模式- Python 支持交互模式,允許交互測試和調試代碼片段。

        • Portable - Python 可以在各種硬件平臺上運行,并且在所有平臺上都具有相同的接口。

        • 可擴展- 您可以將低級模塊添加到 Python 解釋器。這些模塊使程序員能夠添加或定制他們的工具以提高效率。

        • Databases - Python 提供所有主要商業數據庫的接口。

        • GUI Programming - Python 支持可以創建并移植到許多系統調用、庫和 Windows 系統的 GUI 應用程序,例如 Windows MFC、Macintosh 和 Unix 的 X Window 系統。

        • Scalable - Python 為大型程序提供了比 shell 腳本更好的結構和支持。

        觀眾

        Python 教程專為需要從頭開始學習 Python 編程語言的軟件程序員而設計。


        Golang中channel使用的一些小技巧

        關閉2次

        ch := make(chan bool) 

        close(ch) 

        close(ch)  // 這樣會panic的,channel不能close兩次 


        讀取的時候channel提前關閉了


        ch := make(chan string) 

        close(ch) 

        i := <- ch // 不會panic, i讀取到的值是空 "",  如果channel是bool的,那么讀取到的是false 


        向已經關閉的channel寫數據







        ch := make(chan string) 


        close(ch) 


        ch <- "good" // 會panic的 


        判斷channel是否close






        i, ok := <- ch 


        if ok { 


            println(i) 


        } else { 


            println("channel closed") 



        for循環讀取channel




        for i := range ch { // ch關閉時,for循環會自動結束 


            println(i) 



        防止讀取超時






        select { 


            case <- time.After(time.Second*2): 


                println("read channel timeout") 


            case i := <- ch: 


                println(i) 



        防止寫入超時






        // 其實和讀取超時很像 


        select { 


            case <- time.After(time.Second *2): 


                println("write channel timeout") 


            case ch <- "hello": 


                println("write ok") 


        }



        << < 1 2 3 4 5 6 7 8 9 10 > >>

        Copyright www.chinohillsfirstimehomebuyer.com Rights Reserved葵花寶典教程.鄂icp2022001145號-1

        分享:

        支付寶

        微信

        97色伦午夜国产亚洲精品

        <ruby id="27277"></ruby>

        <meter id="27277"></meter>
          <menuitem id="27277"></menuitem>