<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # Python 簡介 --- * **Python 是一種解釋型語言:** 這意味著開發過程中沒有了編譯這個環節。 * **Python 是交互式語言:** 這意味著,您可以在一個 Python 提示符 \>>> 后直接執行代碼。 * **Python 是面向對象語言:** 這意味著 Python 支持面向對象的風格或代碼封裝在對象的編程技術。 # 基礎語法 --- ## 保留字 保留字即關鍵字,我們不能把它們用作任何標識符名稱。Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字: ``` import keyword print(keyword.kwlist) ['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 最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {}。 縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下: ``` if True: print('True') else: print('False') ``` ## 多行語句 Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠(\\)來實現多行語句,例如: ``` total = item_one + \ item_two + \ item_three ``` 在 \[\], {}, 或 () 中的多行語句,不需要使用反斜杠(\\),例如: ~~~ total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five'] ~~~ ## 數字(Number)類型 python 中數字有四種類型:整數、布爾型、浮點數和復數。 * **int**(整數), 如 1, 只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。 * **bool**(布爾), 如 True。 * **float**(浮點數), 如 1.23、3E-2 * **complex**(復數), 如 1 + 2j、 1.1 + 2.2j ## 字符串(String) * Python 中單引號和雙引號使用完全相同。 * 使用三引號('''或""")可以指定一個多行字符串。 * 轉義符 '\\' * 反斜杠可以用來轉義,使用 r 可以讓反斜杠不發生轉義。。 如 r"this is a line with \\n" 則 \\n 會顯示,并不是換行。 * 按字面意義級聯字符串,如 "this " "is " "string" 會被自動轉換為 this is string。 * 字符串可以用 + 運算符連接在一起,用 \* 運算符重復。 * Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。 * Python中的字符串不能改變。 * Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。 * 字符串的截取的語法格式如下:變量\[頭下標:尾下標:步長\] ~~~ str = 'Runoob' print(str) # 輸出字符串 print(str[0:-1]) # 輸出第一個到倒數第二個的所有字符 print(str[0]) # 輸出第一個字符 print(str[2:5]) # 輸出第三個開始到第五個的字符 print(str[2:]) # 輸出第三個開始后的所有字符 print(str * 2) # 輸出字符串兩次 print(str + 'hello') # 連接字符 print('--------------------------') print('hello\nrunoob') # 特殊字符 \n print(r'hello\nrunoob') # 在字符串前添加一個 r,表示原始字符串,不會發生轉義 Runoob Runoo R noo noob RunoobRunoob Runoobhello -------------------------- hello runoob hello\nrunoob ~~~ ## import 與 from...import - 在 python 用`import`或者`from...import`來導入相應的模塊。 - 將整個模塊(somemodule)導入,格式為:`import somemodule` - 從某個模塊中導入某個函數,格式為:`from somemodule import somefunction` - 從某個模塊中導入多個函數,格式為:`from somemodule import firstfunc, secondfunc, thirdfunc` - 將某個模塊中的全部函數導入,格式為:`from somemodule import *` ~~~ # 導入 sys 模塊 import sys print('========Python import mode==========') print('命令行參數為:') for i in sys.argv: print(i) print('\n python 路徑為', sys.path) ~~~ ~~~ # 導入 sys 模塊的 argv,path 成員 from sys import argv,path print('path:', path) # 因為已經導入 path 成員,所以此處引用時不需要加 sys.path ~~~ # ???? ## Python 基礎 ### 數據類型和變量 **變量的聲明與賦值** Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。 在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。 Python 允許你同時為多個變量賦值。例如: ~~~ a = b = c = 1 ~~~ 以上實例,創建一個整型對象,值為 1,從后向前賦值,三個變量被賦予相同的數值。 你也可以為多個對象指定多個變量。例如: ~~~ a, b, c = 1, 2, "runoob" ~~~ 以上實例,兩個整型對象 1 和 2 的分配給變量 a 和 b,字符串對象 "runoob" 分配給變量 c。 **標準數據類型** Python3 中有六個標準的數據類型: * Number(數字) * String(字符串) * List(列表) * Tuple(元組) * Set(集合) * Dictionary(字典) 內置的 type() 函數和 instance() 函數可以用來查詢變量所指的對象類型。 ~~~ a, b, c, d = 20, 5.5, True, 4 + 3j print(type(a), type(b), type(c), type(d)) print(isinstance(a, int)) // output <class 'int'> <class 'float'> <class 'bool'> <class 'complex'> True ~~~ 下面依次對這其進行介紹。 #### Number(數字) ***** Python3 支持 **int、float、bool、complex(復數)** 在Python3 里,只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。 ~~~ a, b, c, d = 20, 5.5, True, 4 + 3j print(type(a), type(b), type(c), type(d)) // output <class 'int'> <class 'float'> <class 'bool'> <class 'complex'> ~~~ 數值運算: ~~~ >>>5 + 4 # 加法 9 >>> 4.3 - 2 # 減法 2.3 >>> 3 * 7 # 乘法 21 >>> 2 / 4 # 除法,得到一個浮點數 0.5 >>> 2 // 4 # 除法,得到一個整數 0 >>> 17 % 3 # 取余 2 >>> 2 ** 5 # 乘方 32 ~~~ #### 字符串(String) ***** * Python 中單引號和雙引號使用完全相同。 * 使用三引號('''或""")可以指定一個多行字符串。 * 轉義符 '\\' * 反斜杠可以用來轉義,使用 r 可以讓反斜杠不發生轉義。。 如 r"this is a line with \\n" 則 \\n 會顯示,并不是換行。 * 按字面意義級聯字符串,如 "this " "is " "string" 會被自動轉換為 this is string。 * 字符串可以用 + 運算符連接在一起,用 \* 運算符重復。 * Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。 * Python中的字符串不能改變。 * Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。 * 字符串的截取的語法格式如下:變量\[頭下標:尾下標:步長\] ~~~ str = 'Runoob' print(str) # 輸出字符串 print(str[0:-1]) # 輸出第一個到倒數第二個的所有字符 print(str[0]) # 輸出第一個字符 print(str[2:5]) # 輸出第三個開始到第五個的字符 print(str[2:]) # 輸出第三個開始后的所有字符 print(str * 2) # 輸出字符串兩次 print(str + 'hello') # 連接字符 print('--------------------------') print('hello\nrunoob') # 特殊字符 \n print(r'hello\nrunoob') # 在字符串前添加一個 r,表示原始字符串,不會發生轉義 Runoob Runoo R noo noob RunoobRunoob Runoobhello -------------------------- hello runoob hello\nrunoob ~~~ #### List(列表) - List(列表) 是 Python 中使用最頻繁的數據類型。 - 列表可以完成大多數集合類的數據結構實現。列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套)。 - 列表是寫在方括號 \[\] 之間、用逗號分隔開的元素列表。 - 和字符串一樣,列表同樣可以被索引和截取,列表被截取后返回一個包含所需元素的新列表。 列表截取的語法格式如下: ~~~ 變量[頭下標:尾下標] ~~~ ![](https://img.kancloud.cn/ec/b3/ecb3406c267748b0631645dc29158483_1366x720.png) 加號`+`是列表連接運算符,星號`*`是重復操作。如下實例: ~~~ list = ['abcd', 786, 2.23, 'runoob', 70.2] tinylist = [123, 'runoob'] print(list) # 輸出完整列表 print(list[0]) # 輸出列表第一個元素 print(list[1:3]) # 從第二個開始輸出到第三個元素 print(list[2:]) # 輸出從第三個元素開始的所有元素 print(tinylist * 2) # 輸出兩次列表 print(list + tinylist) # 連接列表 ~~~ 以上實例輸出結果為: ~~~ 'abcd', 786, 2.23, 'runoob', 70.2] abcd [786, 2.23] [2.23, 'runoob', 70.2] [123, 'runoob', 123, 'runoob'] ['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob'] ~~~ Python 列表截取可以接收第三個參數,參數作用是截取的步長,以下實例在索引 1 到索引 4 的位置并設置為步長為 2(間隔一個位置)來截取字符串: ![](https://img.kancloud.cn/e6/5d/e65d5427f69c09c9f9f08e713ab4a10a_600x234.png) #### Tuple(元組) ***** 元組(tuple)與列表類似,不同之處在于元組的元素不能修改。元組寫在小括號 () 里,元素之間用逗號隔開。 元組中的元素類型也可以不相同: ~~~ tuple = ('abcd', 786, 2.23, 'runoob', 70.2) tinytuple = (123, 'runoob') print(tuple) # 輸出完整元組 print(tuple[0]) # 輸出元組的第一個元素 print(tuple[1:3]) # 輸出從第二個元素開始到第三個元素 print(tuple[2:]) # 輸出從第三個元素開始的所有元素 print(tinytuple * 2) # 輸出兩次元組 print(tuple + tinytuple) # 連接元組 ~~~ 以上實例輸出結果如下: ~~~ ('abcd', 786, 2.23, 'runoob', 70.2) abcd (786, 2.23) (2.23, 'runoob', 70.2) (123, 'runoob', 123, 'runoob') ('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob') ~~~ #### Set(集合) 集合的基本功能是進行成員關系測試和刪除重復元素。 可以使用大括號`{ }`或者`set()`函數創建集合,注意:創建一個空集合必須用`set()`而不是`{ }`,因為`{ }`是用來創建一個空字典。 ~~~ # 成員測試 if 'Rose' in student: print('Rose 在集合中') else: print('Rose 不在集合中') # set可以進行集合運算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a 和 b 的差集 print(a | b) # a 和 b 的并集 print(a & b) # a 和 b 的交集 print(a ^ b) # a 和 b 中不同時存在的元素 ~~~ 以上實例輸出結果如下: ~~~ {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'} Rose 在集合中 {'b', 'a', 'c', 'r', 'd'} {'b', 'd', 'r'} {'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'} {'a', 'c'} {'l', 'r', 'z', 'm', 'b', 'd'} ~~~ #### Dictionary(字典) ***** 列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。 字典是一種映射類型,字典用{ }標識,它是一個無序的 **鍵(key) : 值(value)** 的集合。 鍵(key) 必須使用不可變類型,Python3 的六個標準數據類型中: * 不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組); * 可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。 在同一個字典中,鍵(key)必須是唯一的。 ~~~ dict = {} dict['one'] = "1 - 菜鳥教程" dict[2] = "2 - 菜鳥工具" tinydict = {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'} print(dict['one']) # 輸出鍵為 'one' 的值: 1 - 菜鳥教程 print(dict[2]) # 輸出鍵為 2 的 值: 2 - 菜鳥工具 print(tinydict) # 輸出完整的字典: {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'} print(tinydict.keys()) # 輸出所有的鍵: dict_keys(['name', 'code', 'site']) print(tinydict.values()) # 輸出所有的值: dict_values(['runoob', 1, 'www.runoob.com']) ~~~ ## 條件語句和循環語句 ### 條件語句 Python 中條件語句的一般格式如下: ~~~ if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 ~~~ 注意: * 1、每個條件后面要使用冒號:,表示接下來是滿足條件后要執行的語句塊。 * 2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。 * 3、在Python中沒有switch – case語句。 ### 循環語句 Python 中的循環語句有 for 和 while。 以下實例使用了 while 來計算 1 到 100 的總和: ~~~ n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和為: %d" % (n, sum)) ~~~ 在 while … else 在條件語句為 false 時執行 else 的語句塊。 實例如下: ~~~ count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5") ~~~ **for 語句** Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。 實例如下: ~~~ languages = ['C', 'C++', 'Perl', 'Python'] for x in languages: print(x) C C++ Perl Python ~~~ **range() 函數** 如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列,例如: ~~~ for i in range(5): print(i) ''' 0 1 2 3 4 ''' ~~~ 也可以使用 range 指定區間的值 ~~~ for i in range(5, 9): print(i) ''' 5 6 7 8 ~~~ 也可以使 range 以指定數字開始并指定不同的增量 ~~~ for i in range(0, 10, 3): print(i) ''' 0 3 6 9 ''' ~~~ 負數 ~~~ for i in range(-10, -100, -30): print(i) ''' -10 -40 -70 ''' ~~~ 結合 range() 和 len() 函數以遍歷一個序列的索引,如下所示: ~~~ a = ['Google', 'Baidu', 'Taobao', 'QQ'] for i in range(len(a)): print(i, a[i]) ''' 0 Google 1 Baidu 2 Taobao 3 QQ ''' ~~~ ## 迭代器和生成器 ## 函數 1、定義函數 使用`def`語句定義函數: ~~~ def my_abs(x): if x >= 0: return x else: return -x print(my_abs(-99)) ~~~ 如果沒有`return`語句,函數執行完畢后也會返回結果,只是結果為`None`。`return None`可以簡寫為`return`。 <span style="font-size: 18px;">返回多個值<span> ~~~ import math def move (x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny x, y = move(100, 100, 60, math.pi / 6) print(x, y) 151.96152422706632 70.0 # 返回多個值只是一種假象,返回值是一個 tuple r = move(100, 100, 60, math.pi / 6) print(r) (151.96152422706632, 70.0) ~~~ 2、調用函數 3、函數的參數 4、遞歸函數
                  <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>

                              哎呀哎呀视频在线观看