1.語句和語法python
(1)反斜槓"\"表示語句繼續。python良好的編程習慣是一行最後不超過80個字符,一行字符過多時便須用到反斜槓換行繼續該語句。編程
PS:在使用小括號、中括號、大括號時能夠跨行書寫,無須反斜槓;三引號的字符串也能夠跨行書寫函數
(2)分號";"能夠在同一行寫多個語句。雖然python支持這麼作,但爲了代碼可讀性,通常不建議這麼作佈局
2.變量賦值spa
(1) python中,對象是引用傳遞的,而不是直接將值賦給對象 如:code
>>> a = 123 >>> b = a >>> a 123 >>> b 123 >>> a = 456 >>> a 456 >>> b 123
語句 a = 123,執行的是建立整型 123 以及變量a,並把a指向這個整型;對象
語句 b = a ,執行的是建立變量b 並把b指向a指向的整型123blog
在從新給a賦值時,a的指向發生變化,b的指向並無發生變化,因此在執行 a = 456 以後,a 的值是 456,b的值還是123內存
(2)多重賦值 形如x = y = z = 1,一個對象被賦予多個變量rem
(3)多元賦值 這種賦值方式的等號兩邊都是元組
>>> x, y, z = 1, 2, 'ab' >>> x 1 >>> y 2 >>> z 'ab'
一、二、'ab'三個對象分別賦值給x,y,z
爲了提升代碼可讀性,最後給兩邊的元組都加上括號
>>> (x, y, z) = (1, 2, 'ab') >>> x 1 >>> y 2 >>> z 'ab'
多元賦值能夠方便的用於變量交換
>>> x = 123 >>> y = 456 >>> x 123 >>> y 456 >>> (x, y) = (y, x) >>> x 456 >>> y 123
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 # 對象被建立並賦值,引用計數爲1 y = x #對象被引用給其餘變量,引用計數加1 float(x) #做爲參數傳遞給函數,引用計數加1 list1 = ['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子塊檢測無誤時執行