自己不熟悉的內建函式總結
阿新 • • 發佈:2018-11-15
all()
Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True.
'''
'''
any()
Return True if bool(x) is True for any x in the iterable.
If the iterable is empty, return False.
# dir() 列印當前程式的所有變數
# divmod(x, y, /) Return the tuple (x//y, x%y).
# print(divmod(10, 3)) # (3,1)
# sorted(iterable, /, *, key=None, reverse=False)。自定義排序。
d = {} for i in range(20): d[i] = i - 50 sorted(d, key=lambda x: x[1], reverse=True) # 按字典的value排序後反轉
eval(source, globals=None, locals=None, /) 字串轉程式碼,只能執行單行程式碼
f = "1+3/2" print(eval(f)) # 2.5 f2 = "lambda x, y: print(x - y) if x > y else print(x + y)" f2 = eval(f2) f2(5, 10) # 15
exec() 功能和eval差不多。但有兩個區別:1.可以執行多行程式碼 2.那不到返回值
f3 = ''' def foo(): print('run foo') return 1234 foo() ''' res = exec(f3) # run foo print('res', res) # res None res2 = eval('1+3+3') res3 = exec('1+3+3') print(res2, res3) # 7 None
ord 返回在ASCII碼的位置
chr 返回ASCII數字對應的字元
bytearray 返回一個新位元組陣列。這個數組裡的元素是可變的,並且每個元素的值範圍: 0 <= x < 256,特就是ASCII表。
s = 'hello world' # s[0] = 'H' 報錯 s = s.encode('utf-8') s = bytearray(s) s[0] = 65 # 65是ASCII碼錶中的A) print(s) # bytearray(b'Aello world') s = s.decode() print(s) # Aello world
map
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5]))) # [1, 4, 9, 16, 25]
filter
print(list(filter(lambda x: x > 3, [1, 2, 3, 4, 5]))) # [4, 5]
reduce
import functools print(functools.reduce(lambda x, y: x + y, [1, 2, 3, 4, 5, ])) # 15 print(functools.reduce(lambda x, y: x * y, [1, 2, 3, 4, 5, ])) # 120 print(functools.reduce(lambda x, y: x + y, [1, 2, 3, 4, 5], 10)) # 25 第三個引數會放在列表的第一個位置 print(functools.reduce(lambda x, y: x * y, [1, 2, 3, 4, 5, ], 10)) # 1200 第三個引數會放在列表的第一個位置
# pow 返回多少次冪
print(pow(2, 4)) # 16
print('a', 'b') # a b print('a', 'b', sep='--->') # a--->b msg = '又回到最初的起點' with open('print_test.txt', 'w', encoding='utf-8') as f: print(msg, '記憶中你青澀的臉', sep='|', end="", file=f) # 又回到最初的起點|記憶中你青澀的臉 寫入了檔案
callable() # 是否可呼叫,可以用來判斷一個變數是否是函式
frozenset 把一個集合變成不可變的
vars() 打印出當前所有的變數名加上變數對應的值,dir()只會列印變數名
locals() 列印區域性變數
globals() 列印全域性變數
repr 把顯示形式變成字串
zip 讓兩個列表一一對應
a = [1, 2, 3, 4, 5] b = ['a', 'b', 'c', 'm'] print(list(zip(a, b))) # [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'm')]
round 保留幾位小數
print(round(1.12312312, 2)) # 1.12