1. 程式人生 > >python筆記(內建)

python筆記(內建)

內建函式: print(),input(),len(),type(),open(),tuple(),list(),int(),bool(),set(),str() dir() #檢視一個變數所有擁有的方法 id()#變數所在的記憶體地址 hash()#可不可雜湊(對於相同可雜湊資料的雜湊值在一次程式的執行過程中總是不變的)

1.作用域相關 locals()#返回本地作用域中所有名字 globals()#返回全域性作用域中所有名字 global xxx #定義全域性變數 nonlocal xxx #定義區域性變數

迭代器.next() 迭代器 = iter(可迭代的) 迭代器 = 可迭代的.iter

()

range(1,11,2)#隔一個取值(可迭代的,不是一個迭代器) callable()#檢視是不是一個函式

例:進度條

import time
for i in range(0, 101, 2):
    time.sleep(0.1)
    char_num =i//2                               #列印多少個'*'
    per_str= '\r%s%% : %s\n'%(i,'*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*' * char_num)#\r : 退格
print (per_str, end='', flush=True)  #end = '':列印完不換行  flush = Ture:立即把內容輸出到流檔案,不做快取

@自己寫的

for i in  range(101):
    time.sleep(0.1)
    l = '\r%s%% : %s' % (i,'*'*i)
print(l,end='')

exec(‘print(123)’) #可以執行一段看起來是字串但實際是python的語句,但是沒有返回值(處理簡單的流程控制) eval(‘print(123)’) #可以執行一段看起來是字串但實際是python的語句,有返回值(處理有結果的)

colde = "print('你好呀!')"
compile(colde,'','exec')
exec(colde)

複數 – complex

2.數學運算

divmod()  #div:除法  mod:取餘
print(divmod(5,9))

abs() round()#保留三位 pow() # sum() min() max() set() &;求交集 - :求差集 slice(1,5,2)#切片 1~5隔兩個取值 print(format(‘test’,’<20’)) #開闢二十個位元組空間左對齊 print(format(‘test’,’^20’)) #開闢二十個位元組空間居中 @unicode:萬國碼(佔記憶體)所以有了utf-8 gbk:國標碼,中國製造,不相容其他國家的語言 @is 和 == 的區別:is:比較記憶體地址,==:比較數值大小

資料結構:dict,list,tuple,set,str… 資料型別:int,bool,float,…

print(bytes(‘你好’,encoding=‘GBK’)) #unicode轉換成GBK的bytes print(bytes(‘你好’,encoding=‘utf-8’)) #unicode轉換成utf-8的bytes

print(bytearray(‘你好’,encoding=‘utf-8’)) #在修改字串的時候節省記憶體 ord()#字元按照unicode轉數字 chr()#數字按照unicode轉字元 ascii()#只要是ascii碼中的內容就打印出來,不是就轉換成\n

print(repr(‘1’))#把雙引號也打印出來 frozenset() #frozenset是凍結的集合,它是不可變的

l = 'adhhjksa'
l = frozenset(l)
print(l)

zip()

nums = ['flower','flow','flight']
for i in zip(*nums):
    print(i)

輸出結果:

(‘f’, ‘f’, ‘f’) (‘l’, ‘l’, ‘l’) (‘o’, ‘o’, ‘i’) (‘w’, ‘w’, ‘g’)

l1 = [1,2,3]
l2 = [3,3]
l = zip(l1,l2)
for i in l:
  print(i)

輸出結果:

(1, 3) (2, 3)

def is_odd(x):
    return x % 2 == 1
ret = filter(is_odd,[1,2,4,3,5,6])   #在指定的函式中進行篩選  == l = [i for i in [1,2,3] if i%2 == 1]
for i in ret:
  print(i)

輸出結果:

1 3 5

map()

ret = map(abs,[1,2,-4,-3])
for i in ret:
print(i)

輸出結果:

1 2 4 3

l = [1,2,3,2] l.sort() #在原列表基礎上排序 print(l)

sorted(l)#排完序自己生成一個列表,原列表不變

l = ['     ',[1,2],'nijao']
n = sorted(l,key=len)
print(n)

輸出結果:

[[1, 2], ’ ', ‘nijao’]

匿名函式

calc = lambda n,m:n**m
print(calc(2,2))
dic = {'k1':12,'k2':16,'k3':9,}
a = max(dic,key=lambda k:dic[k])
print(a)

輸出結果:

k2

面試題:將((‘a’),(‘b’)),((‘c’),(‘d’))轉化成{‘a’:‘c’,‘b’,‘d’}

ret = zip((('a'),('b')),(('c'),('d')))
res = map(lambda tup:{tup[0],tup[1]},ret)
print(list(res))