1. 程式人生 > >Python學習筆記(2)

Python學習筆記(2)

Python

Unicode字符串: GB2312編碼為表示中文產生 python內部編碼是unicode編碼
Unicode通常用兩個字節表示一個字符,原有的英文編碼從單字節變成雙字節,只需要把高字節全部填0 就可以
以Unicode表示的字符串用u’….’表示
如:print u’中文’ (不加u中文就不能顯示)
字符串在python內部的表示是unicode編碼,因此在做編碼轉化時,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼decode成unicode,再從unicode編碼encode成另一種編碼

decode的作用是將其他變編碼的字符串轉化成Unicode編碼,如str1.decode(‘gb2312’),表示將gb2312編碼的字符串str1轉化成unicode(或者unicode(str1,’gb2312’))

encode的作用是將unicode編碼轉換成其他編碼的字符串,如str2.encode(‘gb2312’),表示將unicode編碼的字符串str2轉換成gb2312編碼
代碼中字符串的默認編碼與大媽文件本身的編碼一致
技術分享圖片

Window默認編碼gbk linux默認編碼utfs
整數和浮點數
Python支持對浮點數和整數直接進行四則混合運算(運算規則和數學上的四則運算規則完全一致)
(整數與整數運算仍然是整數,浮點數與浮點數運算是浮點數,整數與浮點數運算是浮點數)
求余: %
布爾類型:False True
Python把0,空字符串‘’和None看成False 其他數值和非空字符串都看成True

技術分享圖片

技術分享圖片

Python集合類型
List (列表):list是一種有序(按照順序排列的)的集合,可以隨時添加和刪除其中的元素
[ ]把list 元素都括起來,就是一個list對象
通常把list賦值給一個變量,這樣就可以同法國比那倆來引用list
L=[‘Michale’,100,True] 註意:由於python是動態語言,所以其list元素並不要求必須是同一數據類型 空list L=[]
Python按照索引訪問list print L[0] #打印列表中第一個元素(索引從0開始)
正序從0開始,逆序從-1開始::當索引數字為負數時,表示逆序獨處list中的內容,記住list的最後一個空間的編號為-1開始(不能越界)

添加新元素
append()把新的元素添加到list尾部 如: L.append(‘paui’)
insert()把元素插入到索引號處,,第一個參數是索引號,第二個參數是待添加的新元素
如:L.insert(0,’paile’) L為list賦值給的變量名,把paile添加到索引為0處,原來的都自動後移一位

刪除新元素(pop):
pop()默認刪除第一個,,pop(索引號),,刪除該索引號位置上的元素

替換元素: L[索引號]=‘paul’,直接賦值即可

創建tuple: tuple是另一種有序的列表,中文翻譯為“元組”,tuple一旦創建完畢就不能修改了 ,創建tuple時,用()括住所有元素即可 例如:t=(‘ccfdvg’,’vfgth’,’bgh’)
訪問時: t[0],,或者t[-1] 與list一樣
空tuple t=()

創建單元素tuple:
單元素tuple的()被當作優先級 (1)變成整數1 單元素括號結尾加 , 例如:t=(1,)
打印單元素tuple時,也自動添加, print t (1,)
“可變”的tuple(指向不變,指向的東西可以變)
t=(‘a’,’b’,[‘A’,’B’])
L=t[2]
L[0]=’X’
L[1]=’Y’
Print t
(‘a’,’b’,[‘X’,’Y’]) #實質是改變了list的元素

Python的條件判斷和循環語句
If語句:
age=20
If age>=18:
print ‘ your age is’,age
Print ‘adult’
print ‘END’
Python代碼的縮進(4個空格)規則,具有相同縮進的代碼唄視為代碼塊,上面的3,4行print語句就構成一個代碼塊(但不包括第5行的print)
註意:if語句後接表達式。然後用:表示代碼塊開始
在交互模式環境下敲代碼。要特別留意縮進,並且退出縮進需要多敲一行回車
例如:

>>age=20
>>if age>=18:
... print ‘your age is ’,age
... print ‘adult’
...

If-else語句
例如:
age=20
If age>=18:
print ‘adult’
Else: (註意else後面的 :)
print ‘teenager’

if-elif-else語句
例如:
if age>=18:
print ‘adult’
elif age>=6:
print ‘teenager’
else:
print ’kid’

for循環
例如:
L=[‘Adma’,’Lisa’,’Bart’]
For name in L;
print name
註意:name這個變量是在for循環中定義的(這是一個臨時變量名字可自定義),意思是,依次取出list中的每一個元素,並把元素賦值給name,然後執行for循環體

while循環
和for循環不同的另一種循環是while循環,while循環不會叠代list或tuple的元素,而是根據表達式判斷循環是否結束。
比如要從0開始打印不大於N的整數:
N=10
X=0
while x<N
print x
x=x+1
While循環每次先判斷下x<N,如果為True,則執行循環體的代碼塊,否則,退出循環
在循環體內,x=x+1會讓x不斷增加,最終因x<N不成立而退出循環
技術分享圖片

break退出循環
用for循環或者while循環時,如果要在循環體內直接退出循環,可以使用break語句
**技術分享圖片

continue繼續循環**
在循環過程中。可以使用break推出當前循環,還可以用continue跳過後續循環代碼,繼續下一次循環
例如:
對計算0-100的while循環進行改造,通過增加continue語句,使得只計算奇數的和:
思路: if判斷到是偶數,continue跳過。
實現代碼:
技術分享圖片

多重循環(嵌套循環):在循環內部,還可以嵌套循環

技術分享圖片

Python學習筆記(2)