1. 程式人生 > >自己不熟悉的內建函式總結

自己不熟悉的內建函式總結

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
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