locals():返回當前做⽤域中的名字globals():返回全局做⽤域中的名字
range():⽣成數據next():迭代器向下執⾏⼀次, 內部實際使⽤了__next__()⽅法返回迭代器的下⼀個項⽬iter():獲取迭代器, 內部實際使⽤的是__iter__()⽅法來獲取迭代器
eval():執⾏字符串類型的代碼. 並返回最終結果
print(eval("2+2")) # 4 n = 8 print(eval("2+n")) # 10 def func(): print(666) eval("func()") # 666
exec():執⾏字符串類型的代碼
exec(""" for i in range(10): print(i) """) exec(""" def func(): print("我是周杰倫") func() """)
compile():將字符串類型的代碼變異,代碼對象可以經過exec語句來執⾏或者eval()進⾏求值
''' 參數說明: 1. resource 要執⾏的代碼, 動態代碼⽚段 2. ⽂件名, 代碼存放的⽂件名, 當傳⼊了第⼀個參數的時候, 這個參數給空就能夠了 3. 模式, 取值有3個, 1. exec: ⼀般放⼀些流程語句的時候 2. eval: resource只存放⼀個求值表達式. 3. single: resource存放的代碼有交互的時候. mode應爲single ''' code1 = "for i in range(10): print(i)" c1 = compile(code1, "", mode="exec") exec(c1)
code2 = "1+2+3" c2 = compile(code2, "", mode="eval") a = eval(c2) print(a)
code3 = "name = input('請輸⼊你的名字:')" c3 = compile(code3, "", mode="single") exec(c3) print(name)
input():獲取⽤戶輸入的內容print():打印輸出
hash():獲取到對象的哈希值(int, str, bool, tuple)id():獲取到對象的內存地址
open():⽤於⼝打開⼀個⽂件,建立⼀個⽂件句柄
__import__():⽤於動態加載類和函數
help():函數⽤於查看函數或模塊⽤途的詳細說明
callable():⽤於檢查⼀個對象是不是可調⽤的,若是返回True,object有可能調⽤失敗,但若是返回False,那調⽤絕對不會成功
dir():查看對象的內置屬性,⽅法,訪問的是對象中的__dir__()⽅法
bool():將給定的數據轉換成bool值,若是不給值,返回Falseint():將給定的數據轉換成int值,若是不給值, 返回0flfloat():將給定的數據轉換成flfloat值,也就是⼩數complex():建立⼀個複數,第⼀個參數爲實部,第⼆個參數爲虛部,或者第⼀個參數直接⽤字符串來描述複數
bin():將給的參數轉換成⼆進制otc():將給的參數轉換成八進制hex():將給的參數轉換成⼗六進制
abs():返回絕對值divmode():返回商和餘數round():四捨五入pow(a, b):求a的b次冪,若是有三個參數,則求完次冪後對第三個數取餘sum():求和min():求最⼩值max():求最⼤值
list():將⼀個可迭代對象轉換成列表tuple():將⼀個可迭代對象轉換成元組reversed():將⼀個序列翻轉, 返回翻轉序列的迭代器slice():列表的切片
st = "⼤家好, 我是麻花藤" s = slice(1, 5, 2) print(st[s])
str():將數據轉化成字符串
format():與具體數據相關, ⽤於計算各類⼩數, 精算等
# 字符串 print(format('test', '<20')) # 左對⻬ print(format('test', '>20')) # 右對⻬ print(format('test', '^20')) # 居中 # 數值 print(format(3, 'b')) # ⼆進制 print(format(97, 'c')) # 轉換成unicode字符 print(format(11, 'd')) # ⼗進制 print(format(11, 'o')) # ⼋進制 print(format(11, 'x')) # ⼗六進制(⼩寫字⺟) print(format(11, 'X')) # ⼗六進制(⼤寫字⺟) print(format(11, 'n')) # 和d⼀樣 print(format(11)) # 和d⼀樣 # 浮點數 print(format(123456789, 'e')) # 科學計數法. 默認保留6位⼩數 print(format(123456789, '0.2e')) # 科學計數法. 保留2位⼩數(⼩寫) print(format(123456789, '0.2E')) # 科學計數法. 保留2位⼩數(⼤寫) print(format(1.23456789, 'f')) # ⼩數點計數法. 保留6位⼩數 print(format(1.23456789, '0.2f')) # ⼩數點計數法. 保留2位⼩數 print(format(1.23456789, '0.10f')) # ⼩數點計數法. 保留10位⼩數 print(format(1.23456789e+10000, 'F')) # ⼩數點計數法.
bytes():把字符串轉化成bytes類型
s = "你好" bs = s.encode("UTF-8") print(bs) s1 = bs.decode("UTF-8") print(s1) bs = bytes(s, encoding="utf-8") # 把字符串編碼成UTF-8 print(bs)
bytearray():返回⼀個新字節數組。這個數字⾥的元素是可變的,而且每一個元素的值得範圍是[0,256)
ret = bytearray('alex',encoding='utf-8') print(ret[0]) print(ret)
memoryview():查看bytes在內存中的狀況
# 查看bytes字節在內存中的狀況 s = memoryview("麻花藤".encode("utf-8")) print(s)
ord():輸入字符找帶字符編碼的位置chr():輸入位置數字找出對應的字符ascii():是ascii碼中的返回該值 不是就返回\u...
# 找到對應字符的編碼位置 print(ord('a')) print(ord('中')) # 找到對應編碼位置的字符 print(chr(97)) print(chr(20013)) # 在ascii中就返回這個值. 若是不在就返回\u... print(ascii('a')) print(ascii('好'))
repr():返回⼀個對象的string形式
# repr 就是原封不動的輸出, 引號和轉義字符都不起做⽤ print(repr('⼤家好,\n \t我叫周杰倫')) print('⼤家好我叫周杰倫')
# %r 原封不動的寫出來 name = 'taibai' print('我叫%r' % name)
dict():建立⼀個字典set():建立⼀個集合frozenset():建立⼀個凍結的集合,凍結的集合不能進⾏添加和刪除操做
len():返回⼀個對象中的元素的個數sorted():對可迭代對象進⾏排序操做(講完lamda後再講這個)enumerate():獲取集合的枚舉對象
lst = ["alex", "wusir", "taibai"] for index, el in enumerate(lst): print(str(index)+"==>"+el)
all():可迭代對象中所有是True,結果纔是Trueany():可迭代對象中有⼀個是True,結果就是True
print(all([1,2,True,0])) print(any([1,'',0]))
zip():函數⽤於將可迭代的對象做爲參數,將對象中對應的元素打包成⼀個個元組,而後返回由這些元組組成的開了表,若是各個迭代器的元素個數不⼀致,則返回列表⻓度與最短 的對象相同
l1 = [1,2,3,] l2 = ['a','b','c',5] l3 = ('*','**',(1,2,3)) for i in zip(l1,l2,l3): print(i)
fifilter():過濾(講完lamda)map():會根據提供的函數對指定序列作映射(lamda)