技術(shù)交流QQ群:1027579432犀暑,歡迎你的加入!
1.內(nèi)置函數(shù)的查找
- 內(nèi)置函數(shù)都定義在一個叫builtins模塊中烁兰,此模塊默認在python環(huán)境啟動的時候就自動導(dǎo)入耐亏,可以直接使用這些函數(shù),不用import 模塊名沪斟。
-
globals():列出當前環(huán)境下所有的全局變量
globals函數(shù) -
查看builtins模塊中定義的函數(shù):
builtins模塊 - abs():絕對值函數(shù)广辰。注意:內(nèi)置函數(shù)是可以被賦值給其他變量的,同樣也可以將其他對象賦值給內(nèi)置函數(shù)主之,這時就完全變了择吊。所以,內(nèi)置函數(shù)不是Python關(guān)鍵字槽奕,要注意對它們的保護几睛,不要使用和內(nèi)置函數(shù)重名的變量名,這會讓代碼混亂粤攒,容易發(fā)生難以排查的錯誤
abs函數(shù) -
all():接收一個可迭代對象所森,如果對象里的所有元素的bool運算值都是True囱持,那么返回True,否則False焕济。相當是與的作用
all函數(shù) -
any:接收一個可迭代對象纷妆,如果迭代對象里有一個元素的bool運算值是True,那么返回True晴弃,否則False掩幢;與all()是一對兄弟。相當于或的作用
any函數(shù) -
ascii():調(diào)用對象的__repr__()方法上鞠,獲得該方法的返回值际邻。__repr__()方法是由對象所屬類型實現(xiàn)的方法,不可以簡單地理解為print或echo
ascii函數(shù) -
bin()芍阎、oct()世曾、hex():三個函數(shù)是將十進制數(shù)分別轉(zhuǎn)換為2/8/16進制
進制轉(zhuǎn)換函數(shù) -
bool():測試一個對象或表達式的執(zhí)行結(jié)果是True還是False。實際上bool是一個類能曾,不是函數(shù)度硝,bool()的返回值是一個布爾類型的實例。builtins中的很多函數(shù)寿冕,其實都是類蕊程,比如bytes(),str()等等驼唱。只是因為稱呼的習(xí)慣藻茂,我們叫它函數(shù),嚴格意義上說玫恳,這是不對的辨赐。
bool函數(shù) - bytearray():實例化一個bytearray類型的對象。參數(shù)可以是字符串京办、整數(shù)或者可迭代對象掀序。bytearray是Python內(nèi)置的一種可變的序列數(shù)據(jù)類型,具有大多數(shù)bytes類型同樣的方法惭婿。
- 當參數(shù)是字符串的時候不恭,需要指定編碼類型。
- 當參數(shù)是整數(shù)時财饥,會創(chuàng)建以該整數(shù)為長度换吧,包含同樣個數(shù)空的bytes對象的數(shù)組。
-
當參數(shù)是個可迭代的對象時钥星,該對象必須是一個取值范圍0 <= x < 256的整數(shù)序列沾瓦。
bytearray函數(shù)
-
bytes():將對象轉(zhuǎn)換成字節(jié)類型。例如,s = '張三'贯莺;m = bytes(s,encoding='utf-8')
bytes函數(shù) -
str():將對象轉(zhuǎn)換成字符串類型风喇,同樣也可以指定編碼方式。例如乖篷,str(bytes對象响驴,encoding='utf-8')透且。bytes和str之間的互相轉(zhuǎn)換撕蔼,更多使用的是encode()和decode()方法。
str函數(shù) -
callable():判斷對象是否可以被調(diào)用秽誊。如果某個對象具有__call__方法鲸沮,那它就能被調(diào)用。
callable -
chr():返回某個十進制數(shù)對應(yīng)的ASCII字符锅论,例如:chr(99) = ‘c’讼溺。它可以配合random.randint(65,91)隨機方法最易,生成隨機字符怒坯,用于生產(chǎn)隨機驗證碼。
chr函數(shù) -
ord():與chr()相反藻懒,返回某個ASCII字符對應(yīng)的十進制數(shù)剔猿,例如,ord('A') = 65
ord函數(shù) - classmethod()嬉荆、staticmethod()和property():在類中使用的方法归敬,用于生成類的方法、靜態(tài)方法和屬性的函數(shù)鄙早。
-
compile():將字符串編譯成Python能識別或執(zhí)行的代碼穷娱,也可以將文件讀成字符串再編譯把鉴。
compile函數(shù) -
complex():通過數(shù)字或字符串生成復(fù)數(shù)類型對象,使用字符串的時候,+號左右不能有空白缸托。
complex函數(shù) - delattr()、setattr()漓踢、getattr()举畸、hasattr():類機制中,分別用來刪除躯舔、設(shè)置驴剔、獲取和判斷屬性。
- dir():顯示對象所有的屬性和方法粥庄。
dir函數(shù) - int()丧失、float()、list()惜互、dict()布讹、set()琳拭、tuple():與bool()、str()描验、bytes()一樣白嘁,它們都是實例化對應(yīng)數(shù)據(jù)類型的類。
- divmod():除法膘流,同時返回商和余數(shù)的元組絮缅。
divmod函數(shù) - enumerate():在迭代對象的時候,額外提供一個序列號的輸出呼股。注意:enumerate(li,1)中的1表示從1開始序號耕魄,默認從0開始。注意彭谁,第二個參數(shù)才是你想要的序號開始吸奴,不是第一個參數(shù)。通常用于對那些無法提供序號的迭代對象使用缠局。但對于字典则奥,依然是無序的。
enumerate函數(shù) -
eval():將字符串直接解讀并執(zhí)行狭园。例如:s = "6*8"读处,s是一個字符串,d = eval(s)妙啃, d的結(jié)果是48档泽。
eval函數(shù) -
exec():執(zhí)行字符串或compile方法編譯過的字符串,沒有返回值揖赴。
exec函數(shù) -
format():執(zhí)行format()馆匿,其實就是調(diào)用該對象所屬類的__format__方法,類似print功能燥滑。
format函數(shù) - frozenset():返回一個不能增加和修改的集合類型對象渐北。
frozenset函數(shù) -
hash():為不可變對象(整數(shù)、字符串铭拧、元組等)赃蛛,例如字符串生成哈希值的函數(shù)。
hash函數(shù) - help():返回對象的幫助文檔
help函數(shù) - id():返回對象的內(nèi)存地址,常用來查看變量引用的變化搀菩,對象是否相同呕臂。
id函數(shù) - input():接收用戶輸入,返回一個輸入的字符串肪跋。
input函數(shù) - isinstance():判斷一個對象是否是某個類的實例歧蒋,比type()方法適用面更廣。
isinstance函數(shù) -
issubclass():issubclass(a,b),判斷a是否是b的子類谜洽。
issubclass函數(shù) -
iter():制造一個迭代器萝映,使其具備next()能力。
iter函數(shù) - len():返回對象的長度
-
locals():返回當前可用的局部變量
locals函數(shù) - max()/min():返回給定集合里的最大或者最小的元素阐虚,可以指定排序的方法
max_min函數(shù) - memoryview(obj):返回obj的內(nèi)存視圖對象序臂。obj只能是bytes或bytesarray類型
memoryview函數(shù) - next():通過調(diào)用迭代器的在__next__()方法,獲取下一個元素
- object():該方法不接收任何參數(shù)实束,返回一個沒有任何功能的對象奥秆。object是Python所有類的基類。
- open():打開文件的方法磕洪。在Python2里吭练,還有一個file()方法诫龙,Python3中被廢棄了析显。
- pow():冪函數(shù) pow(3, 2) 結(jié)果是9
-
repr():調(diào)用對象所屬類的__repr__方法,與print功能類似签赃。
repr函數(shù) -
reversed():反轉(zhuǎn)谷异,逆序?qū)ο蟆?/p>
reversed函數(shù) -
round():四舍五入
round函數(shù) -
slice():返回一個切片類型的對象。slice是一個類锦聊,一種Python的數(shù)據(jù)類型歹嘹。Python將對列表等序列數(shù)據(jù)類型的切片功能單獨拿出來設(shè)計了一個slice類,可在某些場合下使用孔庭。
slice函數(shù) -
sum():求和
sum函數(shù) - super():調(diào)用父類尺上。面向?qū)ο笾蓄惖臋C制相關(guān)。
- type():顯示對象所屬的數(shù)據(jù)類型圆到。
- vars():與dir()方法類似怎抛,不過dir()方法返回的是key,vars()方法返回key的同時還把value一起打印了芽淡。
vars函數(shù) - map():映射函數(shù)马绝。使用指定的函數(shù),處理可迭代對象挣菲,并將結(jié)果保存在一個map對象中富稻,本質(zhì)上和大數(shù)據(jù)的mapreduce中的map差不多。使用格式:obj = map(func, iterable),func是某個函數(shù)名白胀,iterable是一個可迭代對象椭赋。
map函數(shù) - filter():過濾器,用法和map類似或杠。在函數(shù)中設(shè)定過濾的條件哪怔,逐一循環(huán)對象中的元素,將返回值為True時的元素留下(注意,不是留下返回值BА)件已,形成一個filter類型的迭代器。
filter函數(shù)1
filter函數(shù)2 - zip():組合對象元暴,將對象逐一配對篷扩。
zip函數(shù)1
zip函數(shù)2 - 如果對象的長度不一致,多余的會被拋棄茉盏,以最短的為基礎(chǔ)鉴未!
zip函數(shù)3 - sorted():排序方法,有key和reverse兩個重要參數(shù)鸠姨。
-
基礎(chǔ)用法: 直接對序列進行排序
sorted函數(shù)1 - 指定排序的關(guān)鍵字:關(guān)鍵字必須是一個可調(diào)用的對象铜秆。例如下面的例子,規(guī)則是誰的絕對值大讶迁,誰就排在后面连茧。
sorted函數(shù)2 -
指定按反序排列:下面的例子,首先按忽略大小寫的字母順序排序巍糯,然后倒序排列啸驯。
sorted函數(shù)3 - __import__(name):這個方法為我們提供了一種通過字符串反射包、庫或模塊的手段祟峦。其中的name是你想要導(dǎo)入的庫的名稱的字符串罚斗。下面的例子中,利用字符串“time”宅楞,導(dǎo)入了實際的time庫针姿,并賦值給t變量。這個變量實際就相當于import time的結(jié)果厌衙。然后使用t.time()進行調(diào)用距淫。在某些場景下,這個方法非常有用迅箩。但是很多時候溉愁,它也存在安全問題,Python官方不建議經(jīng)常使用它饲趋。
__import__函數(shù)