1.語句和語法
(1)反斜杠"/"表示語句繼續。python良好的編程習慣是一行最后不超過80個字符,一行字符過多時便須用到反斜杠換行繼續該語句。
PS:在使用小括號、中括號、大括號時可以跨行書寫,無須反斜杠;三引號的字符串也可以跨行書寫
(2)分號";"可以在同一行寫多個語句。雖然python支持這么做,但為了代碼可讀性,一般不建議這么做
2.變量賦值
(1) python中,對象是引用傳遞的,而不是直接將值賦給對象 如:
>>> a = 123>>> b = a>>> a123>>> b123>>> a = 456>>> a456>>> b123
語句 a = 123,執行的是創建整型 123 以及變量a,并把a指向這個整型;
語句 b = a ,執行的是創建變量b 并把b指向a指向的整型123
在重新給a賦值時,a的指向發生變化,b的指向并沒有發生變化,所以在執行 a = 456 之后,a 的值是 456,b的值仍是123
(2)多重賦值 形如x = y = z = 1,一個對象被賦予多個變量
(3)多元賦值 這種賦值方式的等號兩邊都是元組
>>> x, y, z = 1, 2, 'ab'>>> x1>>> y2>>> z'ab'
1、2、'ab'三個對象分別賦值給x,y,z
為了提高代碼可讀性,最后給兩邊的元組都加上括號
>>> (x, y, z) = (1, 2, 'ab')>>> x1>>> y2>>> z'ab'
多元賦值可以方便的用于變量交換
>>> x = 123>>> y = 456>>> x123>>> y456>>> (x, y) = (y, x)>>> x456>>> y123
3.標識符
①標識符只可包含字母、數字、下劃線,首字符不可為數字
②定義字符時須避免python關鍵字和內建字符。python關鍵字如下圖:

③python用下劃線作為變量前綴和后綴指定特殊變量,對解釋器有特殊意義,故建議避免用下劃線作為變量名字符的開始
4.python基本風格
(1)綜述
①注釋是必要的,但需要注意不能過度注釋,如
x = 5 #對x賦值5
這里的注釋就是不必要的,因為這是句廢話
②良好的縮進風格是四個空格,避免用tab
③使用簡短而又意義豐富的標識符名稱
(2)模塊結構和布局
①典型的python模塊結構,如圖

②除非必要,盡量用局部變量代替全局變量
③除了真正需要執行的代碼,需要導入模塊時必須執行的代碼,幾乎所以功能代碼應該都封裝在函數或類中等待主程序調用
④python檢測模塊是被導入還是被直接運行,用__name__系統變量:
如果模塊是被導入,__name__的值為模塊名字
如果模塊被直接執行,__name__的值為"__main__"
5.內存管理
(1)變量定義
①python中,變量使用前無須聲明名字和類型,將在變量第一次賦值時自動聲明
②變量仍然需要在被創建和賦值后才能使用
③變量被賦值后??梢酝ㄟ^變量名直接訪問
(2)引用計數
python使用"引用計數"來保持追蹤內存中的對象。一個內部跟蹤變量,稱為一個引用計數器,每個對象各有多少個引用,簡稱引用計數。對象的引用計數為0時被垃圾回收。
①增加引用計數
當對象被創建時,就創建了一個引用計數;當對象被賦值給變量時,引用計數就計為1。
當同一個對象又被賦值給其他變量,或者被作為參數傳遞給函數,或作為容器對象的一個元素時,對象的引用計數增加1。
x = 123# 對象被創建并賦值,引用計數為1y = x#對象被引用給其他變量,引用計數加1float(x)#作為參數傳遞給函數,引用計數加1list1 = ['ab','c',x]#成為容器的一個元素,引用計數加1
②減少引用計數
引用計數減少包括以下情形:
一個本地引用離開了作用范圍,這種情況最常出現在函數運行結束時所以局部變量都被銷毀,對象的引用計數隨之減少;
對象的別名被del銷毀
del y# or del x
對象的一個別名被賦值給其他變量
x = 456
對象從一個容器對象中被移除
list1.remove(x)
容器對象本身被銷毀
del list1
6.第一個python程序
(1) try-except-else結構
結構:
try: pass#try子塊是希望檢測錯誤的代碼塊 except IOError,e: pass #except子塊對錯誤做出處理,當發生錯誤時執行此代碼塊else: pass#else代碼塊在try子塊檢測無誤時執行
新聞熱點
疑難解答