1. gzyueqian
      13352868059

      零基礎Python入門學習,閱讀完這篇文章就夠了

      更新時間: 2018-11-01 11:52:44來源: Python培訓瀏覽量:4319

          Python 是一種高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 由 Guido van Rossum 于 1989 年底在荷蘭數學和計算機科學研究所發明,個公開發行版發行于 1991 年。

          在命令行窗口執行python后,進入 Python 的交互式解釋器。exit() 或 Ctrl D 組合鍵退出交互式解釋器。
          如果在 Python 腳本文件首行輸入#!/usr/bin/env python,那么可以在命令行窗口中執行/path/to/script-file.py以執行該腳本文件。
          默認情況下,3.x 源碼文件都是 UTF-8 編碼,字符串都是 Unicode 字符。也可以手動指定文件編碼:
          保留字即關鍵字,我們不能把它們用作任何標識符名稱。Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字:
          Python 特色的就是使用縮進來表示代碼塊,不需要使用大括號 {}。 縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數??s進不一致,會導致運行錯誤。
          Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠來實現多行語句。
          函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。
          空行與代碼縮進不同,空行并不是 Python 語法的一部分。書寫時不插入空行,Python 解釋器運行也不會出錯。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護或重構。
      像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號:結束,該行之后的一行或多行代碼構成代碼組。
          print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上end=""或別的非換行符字符串:
          運算符描述=簡單的賦值運算符 =加法賦值運算符-=減法賦值運算符*=乘法賦值運算符/=除法賦值運算符%=取模賦值運算符**=冪賦值運算符//=取整除賦值運算符
          整數值,可正數亦可復數,無小數。 3.x 整型是沒有限制大小的,可以當作 Long 類型使用,所以 3.x 沒有 2.x 的 Long 類型。
          浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 10^2 = 250)
          復數由實數部分和虛數部分構成,可以用a bj,或者plex(a,b)表示,復數的實部 a 和虛部 b 都是浮點型。
          Python 2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。
          在 2.x 中,普通字符串是以 8 位 ASCII 碼進行存儲的,而 Unicode 字符串則存儲為 16 位 Unicode 字符串,這樣能夠表示更多的字符集。使用的語法是在字符串前面加上前綴 u。
          在 3.x 中,字符串和二進制數據完全區分開。文本總是 Unicode,由 str 類型表示,二進制數據則由 bytes 類型表示。Python 3 不會以任意隱式的方式混用 str 和 bytes,你不能拼接字符串和字節流,也無法在字節流里搜索字符串(反之亦然),也不能將字符串傳入參數為字節流的函數(反之亦然)。
          格式: list_name[begin:end:step] begin 表示起始位置(默認為0),end 表示結束位置(默認為一個元素),step 表示步長(默認為1)
          注: 對列表使用 max/min 函數,2.x 中對元素值類型無要求,3.x 則要求元素值類型必須一致。
          列表推導式提供了從序列創建列表的簡單途徑。通常應用程序將一些操作應用于某個序列的每個元素,用其獲得的結果作為生成新列表的元素,或者根據確定的判定條件創建子序列。
          每個列表推導式都在 for 之后跟一個表達式,然后有零到多個 for 或 if 子句。返回結果是一個根據表達從其后的 for 和 if 上下文環境中生成出來的列表。如果希望表達式推導出一個元組,就必須使用括號。
          訪問元組的方式與列表是一致的。 元組的元素可以直接賦值給多個變量,但變量數必須與元素數量一致。
          構造函數 dict() 直接從鍵值對元組列表中構建字典。如果有固定的模式,列表推導式指定特定的鍵值對:
          1、每個條件后面要使用冒號 :,表示接下來是滿足條件后要執行的語句塊。 2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。 3、在 Python 中沒有 switch - case 語句。
      編寫條件語句時,應該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。
          break 語句用在 while 和 for 循環中,break 語句用來終止循環語句,即循環條件沒有 False 條件或者序列還沒被完全遞歸完,也會停止執行循環語句。 continue 語句用在 while 和 for 循環中,continue 語句用來告訴 Python 跳過當前循環的剩余語句,然后繼續進行下一輪循環。 continue 語句跳出本次循環,而 break 跳出整個循環。
          pass 是空語句,是為了保持程序結構的完整性。pass 不做任何事情,一般用做占位語句。
          函數(Functions)是指可重復使用的程序片段。它們允許你為某個代碼塊賦予名字,允許你通過這一特殊的名字在你的程序任何地方來運行代碼塊,并可重復任何次數。這就是所謂的調用(Calling)函數。
          以上代碼中,[1,2,3] 是 List 類型,”Runoob” 是 String 類型,而變量 a 是沒有類型,她僅僅是一個對象的引用(一個指針),可以是指向 List 類型對象,也可以是指向 String 類型對象。
          在 Python 中,字符串,數字和元組是不可更改的對象,而列表、字典等則是可以修改的對象。
          Python 中一切都是對象,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變對象和傳可變對象。
          關鍵字參數和函數調用關系緊密,函數調用使用關鍵字參數來確定傳入的參數值。 使用關鍵字參數允許函數調用時參數的順序與聲明時不一致,因為 Python 解釋器能夠用參數名匹配參數值。
          lambda 只是一個表達式,函數體比 def 簡單很多。 lambda 的主體是一個表達式,而不是一個代碼塊。僅僅能在 lambda 表達式中封裝有限的邏輯進去。 lambda 函數擁有自己的命名空間,且不能訪問自己參數列表之外或全局命名空間里的參數。 雖然 lambda 函數看起來只能寫一行,卻不等同于 C 或 C 的內聯函數,后者的目的是調用小函數時不占用棧內存從而增加運行效率。
          以 L – E – G – B 的規則查找,即:在局部找不到,便會去局部外的局部找(例如閉包),再找不到就會去全局找,再者去內建中找。
          Python 中只有模塊(module),類(class)以及函數(def、lambda)才會引入新的作用域,其它的代碼塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變量,外部也可以訪問。
          局部變量只能在其被聲明的函數內部訪問,而全局變量可以在整個程序范圍內訪問。調用函數時,所有在函數內聲明的變量名稱都將被加入到作用域中。
          如果要修改嵌套作用域(enclosing 作用域,外層非全局作用域)中的變量則需要 nonlocal 關鍵字。
          編寫模塊有很多種方法,其中簡單的一種便是創建一個包含函數與變量、以 .py 為后綴的文件。
          另一種方法是使用撰寫 Python 解釋器本身的本地語言來編寫模塊。舉例來說,你可以使用 C 語言來撰寫 Python 模塊,并且在編譯后,你可以通過標準 Python 解釋器在你的 Python 代碼中使用它們。
          模塊是一個包含所有你定義的函數和變量的文件,其后綴名是.py。模塊可以被別的程序引入,以使用該模塊中的函數等功能。這也是使用 Python 標準庫的方法。
          搜索路徑是一個解釋器會先進行搜索的所有目錄的列表。如想要導入模塊,需要把命令放在腳本的頂端。
          每個模塊都有一個 __name__ 屬性,當其值是 '__main__' 時,表明該模塊自身在運行,否則是被引入。
          一個模塊被另一個程序次引入時,其主程序將運行。如果我們想在模塊被引入時,模塊中的某一程序塊不執行,我們可以用 __name__ 屬性來使該程序塊僅在該模塊自身運行時執行。
          在 Python 中萬物皆對象,int、str、float、list、tuple等內置數據類型其實也是類,也可以用 dir(int) 查看 int 包含的所有方法。也可以使用 help(int) 查看 int 類的幫助信息。
          就好像使用模塊的時候,你不用擔心不同模塊之間的全局變量相互影響一樣,采用點模塊名稱這種形式也不用擔心不同庫之間的模塊重名的情況。
          目錄只有包含一個叫做 __init__.py 的文件才會被認作是一個包,主要是為了避免一些濫俗的名字(比如叫做 string)不小心的影響搜索路徑中的有效模塊。
          簡單的情況,放一個空的 __init__.py 文件就可以了。當然這個文件中也可以包含一些初始化代碼或者為 __all__ 變量賦值。
          類與對象是面向對象編程的兩個主要方面。一個類(Class)能夠創建一種新的類型(Type),其中對象(Object)就是類的實例(Instance)。可以這樣來類比:你可以擁有類型 int 的變量,也就是說存儲整數的變量是 int 類的實例(對象)。
          Python 中的類提供了面向對象編程的所有基本功能:類的繼承機制允許多個基類,派生類可以覆蓋基類中的任何方法,方法中可以調用基類中的同名方法。
          類由 class 關鍵字來創建。 類實例化后,可以使用其屬性,實際上,創建一個類之后,可以通過類名訪問其屬性。
          方法由 def 關鍵字定義,與函數不同的是,方法必須包含參數 self, 且為個參數,self 代表的是本類的實例。
          裝飾器 @classmethod 可以將方法標識為類方法。類方法的個參數必須為 cls,而不再是 self。
          裝飾器 @staticmethod 可以將方法標識為靜態方法。靜態方法的個參數不再指定,也就不需要 self 或 cls。
          __init__ 方法即構造方法,會在類的對象被實例化時先運行,可以將初始化的操作放置到該方法中。
          類變量(Class Variable)是共享的(Shared)——它們可以被屬于該類的所有實例訪問。該類變量只擁有一個副本,當任何一個對象對類變量作出改變時,發生的變動將在其它所有實例中都會得到體現。
          對象變量(Object variable)由類的每一個獨立的對象或實例所擁有。在這種情況下,每個對象都擁有屬于它自己的字段的副本,也就是說,它們不會被共享,也不會以任何方式與其它不同實例中的相同名稱的字段產生關聯。
          在 Python 中,變量名類似 __xxx__ 的,也就是以雙下劃線開頭,并且以雙下劃線結尾的,是特殊變量,特殊變量是可以直接訪問的,不是 private 變量,所以,不能用 __name__、__score__ 這樣的變量名。
          我們還認為約定,一個下劃線開頭的屬性或方法為受保護的。比如,_protected_attr、_protected_method。
          類可以繼承,并且支持繼承多個父類。在定義類時,類名后的括號中指定要繼承的父類,多個父類之間用逗號分隔。
          若是父類中有相同的方法名,而在子類使用時未指定,Python 從左至右搜索,即方法在子類中未找到時,從左到右查找父類中是否包含方法。
          子類的方法可以重寫父類的方法。重寫的方法參數不強制要求保持一致,不過合理的設計都應該保持一致。
          SyntaxError 類表示語法錯誤,當解釋器發現代碼無法通過語法檢查時會觸發的錯誤。語法錯誤是無法用 try...except...捕獲的。
          即便程序的語法是正確的,在運行它的時候,也有可能發生錯誤。運行時發生的錯誤被稱為異常。 錯誤信息的前面部分顯示了異常發生的上下文,并以調用棧的形式顯示具體信息。
          raise 的一個參數指定了要被拋出的異常。它必須是一個異常的實例或者是異常的類(也就是 Exception 的子類)。
          如果你只想知道這是否拋出了一個異常,并不想去處理它,那么一個簡單的 raise 語句就可以再次把它拋出。
          可以通過創建一個新的異常類來擁有自己的異常。異常類繼承自 Exception 類,可以直接繼承,或者間接繼承。
          當創建一個模塊有可能拋出多種不同的異常時,一種通常的做法是為這個包建立一個基礎異常類,然后基于這個基礎類為不同的錯誤情況創建不同的子類。
          在 Python 中 pickle 模塊實現對數據的序列化和反序列化。pickle 支持任何數據類型,包括內置數據類型、函數、類、對象等。
          必填參數 obj 表示將要封裝的對象。 必填參數 file 表示 obj 要寫入的文件對象,file 必須以二進制可寫模式打開,即wb。 可選參數 protocol 表示告知 pickle 使用的協議,支持的協議有 0,1,2,3,默認的協議是添加在 Python 3 中的協議3。
          zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 婷婷色香五月综合缴缴情香蕉 | 亚洲五月天婷婷中文网站 | 最新亚洲日韩一区二区 | 亚洲国产99精品国自产拍 | 亚洲五月花在线观看 | 中文字幕久久综合久久 |