標籤:def 一個 max code 定義 函數 語句 副本 blog
編碼:
編碼常用函數:
‘中文‘.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
[] continue
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。
命名關鍵字操作 like func(,city,age)
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