python總結1
編碼常用函數:
‘中文‘.encode(‘utf-8‘) 將中文編碼成utf-8 的二進制流
b‘\xe4\xb8\xad\xe6\x96\x87‘
b‘\xe4\xb8\xad\xe6\x96\x87‘.decode(‘utf-8‘)將二進制流解碼成中文
‘中文‘
list=[]
tuple=()---tuple不可以增加和減少對象(該對象也不可變。但是不代表其對象指向的內容也不可變。
L=[]
>> LL=(L)
>> L.append(3)
>> LL
[3]
>> LL=(L,)
>> LL
([3],)
>> L.append(4)>> LL
([3, 4],)
dict={‘key1‘:value1,‘key2‘:value2}
可以使用dict[‘key1‘]來查詢其值。
也可以在for x in dict 來輪詢(x 代表 key值)
如果要查詢value 可以用 for x in dict.values()
如果要一起 for x,y in dict.items()
set={1,2,3,4}
set=set(list)
set 中的所有元素不重復。(集合)
條件語句:
if xxx:
[]xxxxx //[]表示縮進
elif xxx:
[]pass
else:
[]pass
循環語句:
for x in d:
[] pass
[] break
while true:
[]pass
函數的定義:
def func(para):
[]pass
函數參數有一下幾種:
位置參數: like func(a,b,c) 調用函數時候必須匹配。
默認參數: like func(a,b,c,age=3,name=‘mao‘)
可以調用為 func(3,4,5),func(3,4,5,6)...
可變參數: like func(*args)
可以調用為: func(3,4,5,6,7,8) 其中參數被副本化為一個tuple.
關鍵字參數(dict) like func(*args)
類似使用 func(a=4,b="3") 被傳入當作一個dict。
used like func(city=‘hangzhou‘,age=3)
函數遞歸:
在函數中調用函數
高級特性:
切片:
性質1 L=[] ,L=[1:2]=[],然後,L[0] takes Err
性質2 L[:2]取 0,1兩個元素 L[-2:-1] takes L[-2] and L[-1:] takes last.
切片的結果還是 list ,tuple,str....
Iteration:對於高級數據對象(list,dict,tuple,set?)的遍歷,稱為叠代。
for x in D...
for x,y in D...
from collections import Iterable
isinstance(L,Iterable)..判別該對象是否可以Iterable.
Iterable 相關功能:
list 加 enumerate(list) 將list 增加編號。
dict.values() 形成一個值的集合。
dict.items() 形成一個key,值的集合集。
List Comprehensions
L=[a,b,c,d]
LL=[ func(x) for x in L] 生成一個新的List。
LL=[func(x,y) for x in L1 for y in L2)]
[‘{0}*{1}‘.format(x,y) for x in range(2) for y in range(3) if x+y>1 ]
[‘0*2‘, ‘1*1‘, ‘1*2‘]
generator:
性質1: 可以通過next(o) 獲取其下一個值,直到StopIteration錯誤。
使用這個辦法打印楊式三角
def triangle(max):
n,s=0,[]
while n<max:
last,t=0,[]
for x in s:
t.append(x+last)
last=x
t.append(1)
s=t
yield s
n=n+1
我們已經知道,可以直接作用於for循環的數據類型有以下幾種:
一類是集合數據類型,如list、tuple、dict、set、str等;
一類是generator,包括生成器和帶yield的generator function。
這些可以直接作用於for循環的對象統稱為可叠代對象:Iterable。
可以使用isinstance()判斷一個對象是否是Iterable對象:
生成器都是Iterator對象,但list、dict、str雖然是Iterable,卻不是Iterator。
把list、dict、str等Iterable變成Iterator可以使用iter()函數:
通過iter()函數 把其變為 iterator.
map is used to from one iterator to another iterater.
map(f,Iterable) f should return a value.
reduce(f,Iterable) f should accept 2 para,and return a value.
列子:用於大寫第一個字母:
def normalize(s):
return s[:1].upper()+s[1:].lower()
print(list(map(normalize,[‘XYC‘,‘abc‘])))
python總結1