天天看點

python基礎知識

一、python執行過程

<a href="https://s2.51cto.com/wyfs02/M01/8D/E7/wKiom1iuklXBJizyAABIzCWs3-E785.png-wh_500x0-wm_3-wmp_4-s_582136972.png" target="_blank"></a>

    上圖為一個python代碼的執行流程。首先,源代碼需要以.py結尾,經過編譯器生成一系列的位元組碼,其生成的位元組碼是以.pyc結尾的檔案;之後經過語義解釋器輸入到執行器中執行程式。

    一個Python程式可以分解為子產品、語句、表達式和對象四個部分。其中,程式由子產品構成、子產品包含語句、語句包含表達式、表達式建立并處理對象。python是一門面向對象的語言,其主要特點是:以資料為中心,所有處理代碼都圍繞資料結構展開;主要方法是如何設計資料結構,并提供對此資料所允許的操作。而面向過程的特點為:以指令為中心, 由指令處理資料,主要解決的是如何組織代碼解決問題(如C語言)。

二、python的對象引用(變量)

    python将所有資料存為記憶體對象,變量就是指記憶體對象的引用。python中的變量是動态類型,即在任何時刻,某個對象的引用都可以重新引用一個不同的對象(可以是不同的資料類型)。

    使用内建函數type()可以傳回給定資料的資料類型。"="用于将變量名與記憶體中的某對象綁定。

變量的命名規則

        隻能包含字母、 數字和下劃線, 且不能以數字開頭; 區分大小寫; 禁止使用保留關鍵字。

命名的慣例

        以單一下劃線開頭變量名(_x)不會被 from module import 語句導入; 前後有下劃線的變

量名(__x__)是系統定義的變量名, 對 python 解釋器有特殊意義; 以兩個下劃線開頭但是結

尾沒有下劃線的變量名(__x)是類的本地變量; 互動模式下, 變量名”_”用于儲存最後表達式

的結果; 變量名沒有類型, 對象才有。

三、資料類型

    資料結構:通過某種方式(例如對元素)進行編号組織在一起的資料元素的集合。

python常用資料類型

        序列類型:

            清單:使用[]建立,如:['hello','world','mylinux']    可變序列

            元組:使用()建立,如:('one','tow','three')             不可變序列  

            字元串:也屬于序列類型                                          不可變序列

        集合類型:集合set、frozenset(不可變集合)

        映射類型:字典dict,使用{}建立,如{'a':b}

    組合資料類型也是序列, 是以可以嵌套。 清單和元組不是真正存儲資料, 而是存放對象引用;

Python 對象可以具有其被調用的特定方法(函數); 元組、 清單以及字元串等資料結構,其長度可以使用内置函數 len()測量。 

邏輯操作符:

        Python 提供了 4 組邏輯運算

            身份操作符:

                is:判定左端對象引用是否相同于右端對象引用, 也可以與 NONE 進行

            比較操作符:&lt;,&gt;,&lt;=,&gt;=,!=,==

            成員操作符:in 或 not in : 測試成員關系

            邏輯運算符:and,or,not 

四、輸入/輸出

    對于輸入輸出,python2.x與python3.x中有所不同。在python2中輸入有兩個函數:input()和raw_input(),而輸出使用的是print語句。raw_input()輸入的是數值,而使用input()輸入時使用的是變量,當輸入變量為定義時會報錯。python2.x中輸出語句的格式:

Print “string %format1 %format2 ...” %(variable1,variable2,...)

    格式:%[(name)] [flags] [width] [.precision] typecode

    name位于括号中的一個屬于後面的字典的鍵名, 用于選出一個具體項

    flag下面标志中的一個或多個

        -: 左對齊, 預設右對齊;    +:包含數字元号, 整數也會帶"+";    O:表示一個零填充

    width指定最小寬度的數字

    一個小數點, 用于按照精度分割字段的寬度

    precision指定要列印字元串中的最大字元個數, 浮點數中小數點之後的位數,或者整數的最小位數。 

    在python3.x中使用input()函數作為輸入,輸入為值,print()函數作為輸出。

五、語句和文法

    注釋:    #, 可以從一行的任何地方開始

    續行:    \     ‘'': 閉合操作符, 單一語句跨多行

    代碼組:縮進相同的一組語句構成的代碼塊;首行以關鍵字開始, 如 if、 while 等, 以冒号結束

Python 使用縮進來分隔代碼組, 同一代碼組的代碼行必須嚴格左右對齊

    同一行放置多個語句:以分号作為分隔符

    子產品:每一個 python 腳本檔案都可以被當作一個子產品;子產品裡的代碼可以是一端直接執行的腳本, 也可以是一些類似庫函數的代碼進而可由别的子產品執行導入( import)。

六、主程式

    主程式:無論目前子產品是被别的子產品導入還是作為腳本直接執行, 都會執行的代碼部分 。

    所有子產品都有能力執行代碼:最進階倍的 python 語句(沒有縮進的)在子產品被導入時就會執行;妥當的做法: 除了那些真正需要執行的代碼以外, 所有功能代碼都通過函數建立;是以僅在主程式子產品中編寫大量的頂級可執行代碼; 用于被導入的子產品隻應該存在少量頂級可執行代碼。 

    __name__訓示子產品應該被加載:如果子產品是被導入, __name__的值是子產品名字; 如果子產品是直接執行, __name__的值是’__main__’。

    擷取幫助文檔的方式:

        擷取對象支援使用的屬性和方法: dir()

        某方法的具體使用幫助: help(list.pop)

        擷取可調用對象的文檔字串: print obj.__doc__ 

本文轉自 夢想成大牛 51CTO部落格,原文連結:http://blog.51cto.com/yinsuifeng/1900628,如需轉載請自行聯系原作者