1. 程式人生 > >python總結1

python總結1

二進制流 調用函數 utf-8 ati next top text name 不重復

編碼:
技術分享圖片
編碼常用函數:
‘中文‘.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