看書筆記《python基礎》__1

''' 學習pyhon基礎   0xAF  十六進制  010  八進制  pow(2,3)  2 的3 次方  __future__  把下一版本的特性導入當前版本\  轉移 r 標識源字符串python 有6中建序列:列表, 元祖  字符串  Unicode字符串 buffer對象  xrange對象通用序列操做: 索引,分片  序列相加,乘法 成員資格 長度  最小值 最大值成員資格: 用In檢查是否在序列中[2:10:1]  1表示步長將有字符組成的列表轉化成字符串 ''.join(somelist)  列表的修改,  list[2]=xx  del list[2]  刪除  count 統計出現的次數 [1,2,4,3,2,1,4].count(1)  extend(list)   index('value')  得到下表  reverse  反轉字符串  排序:  key = len  reverse = true  模板字符串:    s = Template('A $thing must never $action')    d = {}    d['thing'] = 'selen'    d['action'] = 'act'    s.substitute(d)    from string import Template    s = Tempalte('$x .oooo')    s.substitute(x= 'hello')        字符串的格式化:    字典:len 返回鍵值對的數量        d[k]  返回值        del d[k]  刪除爲k 的項        k in d  檢查是否存在鍵爲k的項        d.get('name')  有則返回value 無則返回none        d.items()  轉化爲list        d.iteritems() 轉化爲迭代器        d.keys()  以列表返回鍵        d.update(d)  更新一個字典        d.setdefault('name',N/A)列表推到式:[x*x for x in range(10)][x*x for x in range(10) if x%3 == 0] callable()  判斷函數是否可用文檔化函數     print(help()) '''storage = {}me = 'Magnus Lie Hetland'storage['first'] = [me]storage['middle'] = [me]storage['last'] = [me]def init(data):    data['first'] = {}    data['middle'] = {}    data['last'] = {}def lookup(data,label,name):    return data[label].get(name)  #得到鍵的值storage = {}init(storage)print(storage)def stor(data,full_name):    names = full_name.splite() #分紅列表    print(names)    if len(names) == 2 :names.insert(1,'')    labels = 'first','middle','last'    for label,name in zip(labels,names):  #返回一個可迭代對象        people = lookup(data,label,name)  #返回label的值        if people:            people.append(full_name)        else:            data[label][name] = [full_name]'''收集參數:def print_params(x,y,z=3,*pospor,**keypar):    print(x,y,z)    print(pospor)    print(keypar)print_params(1,2,3,4,5,6,foo =1,bar =2)1,2,3(4,5,6){foo: 1,bar:2}'''def add(x,y): return x+ypar=(1,2)add(*par)  #參數收集的逆過程def hello_3(greet='hello',name='world'):    print('%s,%s'%(greet,name))par = {'name':'selen','greet':'hello'}hello_3(**par) #解字典def stor(**kwargs):    return 'once   there was a '\        '%(job)s called %(name)s.'%kwargsdef power(x,y,*other):    if other:        print('recv:'.other)    else:        return pow(x,y)def interval(start,stop=None,step=1):    if stop is None:        start, stop = 0,start    result = []    i=start    while i< stop:        result.append(i)        i+=step    return result#做用域x = 1scope = vars() #返回一個不可修改字典print(scope['x'])def search(sequeue,number,lower = 0,upper = None):    if upper is None: upper = len(sequeue)-1    if lower == upper:        assert number == sequeue[upper]        return upper    else:        middle = (lower+upper)//2        if number > sequeue['middle']            return search(sequeue,number,middle=1,upper)        else:            return search(sequeue,number,lower,middle-1                          )多態  封裝__metclass__ =type 使用新式類變量綁定一個方法。
相關文章
相關標籤/搜索