Python標(biāo)準(zhǔn)庫基本上是獲得Python語言時獲得的所有內(nèi)容。其中包括所有Python數(shù)據(jù)類型,如string、integer、float和Boolean。這些數(shù)據(jù)類型的每個實(shí)例實(shí)際上都是Python標(biāo)準(zhǔn)庫中定義的類的實(shí)例。
因此,術(shù)語type、instance和object通常可以互換使用。整數(shù)是一個數(shù)字;它也是Python中的數(shù)據(jù)類型。標(biāo)準(zhǔn)庫包含一個整數(shù)類,并且每個創(chuàng)建的整數(shù)實(shí)際上是該類的一個實(shí)例,因此是一個對象(因?yàn)轭愂潜环Q為對象的對象的模板)。
Python中的type()函數(shù)通常標(biāo)識一段數(shù)據(jù)的類型。 例如,在.py文件中的Python提示符下運(yùn)行以下兩行代碼:
x = 3
print(type(x))
輸出為:
<class 'int'>
這是在告訴您x是整數(shù),并且它也是標(biāo)準(zhǔn)庫中int類的實(shí)例。運(yùn)行此代碼:
x = 'howdy'
print(type(x))
產(chǎn)生以下輸出:
<class 'str'>
也就是說,x包含由Python str類創(chuàng)建的字符串?dāng)?shù)據(jù)類型的數(shù)據(jù)。對于浮點(diǎn)數(shù)(帶小數(shù)點(diǎn)的數(shù)字值,如3.14)和布爾值(True或False)都適用。
Python的dir()函數(shù)
Python標(biāo)準(zhǔn)庫提供了dir()方法,該方法顯示與類型關(guān)聯(lián)的所有屬性的列表。例如,在前面的示例中,結(jié)果告訴您數(shù)據(jù)是str數(shù)據(jù)類型。 因此,您知道這是一種類型,因此在一個名為str的類的實(shí)例中。輸入此命令:
dir(str)
顯示如下內(nèi)容:
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__','__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
dunder命名項目(用雙下劃線括起來的名稱)通常表示Python內(nèi)置的東西,并且在Python語言中起著一定的作用,您不必直接訪問。 這些通常稱為特殊變量或魔術(shù)方法。 例如,實(shí)際上有一個add方法是通過使用+(加法)運(yùn)算符將兩個數(shù)字相加或?qū)蓚€字符串連接在一起而實(shí)際調(diào)用的。
常規(guī)函數(shù)沒有雙下劃線,通常后跟括號。例如,看一下以下幾行代碼:
x = "Howdy"
print(type(x), x.isalpha(), x.upper())
該代碼的輸出為:
<class 'str'> True HOWDY
第一部分,告訴您x包含一個字符串。這樣,您可以使用dir(str)輸出中顯示的任何屬性。例如,True是x.isalpha()的輸出,因?yàn)閤確實(shí)包含字母字符。HOWDY是x.upper()的輸出,它將字符串轉(zhuǎn)換為所有大寫字母。
初學(xué)者經(jīng)常想知道一堆像“大寫字母”,“ casefold”,“ center”,“ count”,“ encode”,“ endswith”,“ expandtabs”,“ find”,“ format”等名稱的含義。當(dāng)您不知道名稱的含義或如何使用它們時,您可以通過使用help()而不是dir獲得更多詳細(xì)信息。
Python help()函數(shù)
Python提示還提供了具有以下語法的help()函數(shù):
help(object)
要使用它,請將object替換為您要尋求幫助的對象類型。 例如,要獲得有關(guān)str對象(字符串,來自str類)的幫助,請在Python提示符下輸入以下命令:
help(str)
輸出將是括號中有關(guān)該主題的更多實(shí)質(zhì)性信息。例如,在dir(str)列出該類型的屬性的名稱的情況下,help(dir)提供有關(guān)每個項目的更多詳細(xì)信息。 例如,雖然dir(str)告訴您str類中有一個叫做大寫的東西,但help可以告訴您更多有關(guān)它的信息,如下所示:
capitalize(self, /)
Return a capitalized version of the string.
More specifically, make the first character have upper case and the rest lower case.
那里的“self”一詞只是意味著您要大寫的任何詞都是大寫的。末尾的/表示僅位置參數(shù)的結(jié)尾,這意味著之后不能再將關(guān)鍵字與參數(shù)一起使用,就像定義自己的函數(shù)時一樣。
對于大多數(shù)人而言,通常最有效的方法是進(jìn)行更深入的說明和一個或多個示例。 對于這些用戶,google或類似的搜索引擎通常是最好的選擇。 使用單詞Python,然后加上您尋求幫助的確切單詞開始搜索。 例如,在Google搜索
python capitalize
…提供了許多不同資源的鏈接,以了解str對象的大寫屬性,包括其用法示例。
當(dāng)然,Python標(biāo)準(zhǔn)庫的一個非常好的(盡管是技術(shù)上的)資源是標(biāo)準(zhǔn)庫文檔本身。 通常可以在鏈接庫參考下找到該文件。如果有疑問,只需使用google python標(biāo)準(zhǔn)庫即可。它是巨大的并且非常技術(shù)性。 因此,不要指望馬上就記住或完全理解它。將其作為持續(xù)不斷的資源來學(xué)習(xí),隨著您對Python知識的發(fā)展而感興趣的事物。
docs.python.org上出現(xiàn)的文檔通常適用于當(dāng)前的穩(wěn)定版本。 頁面左側(cè)的鏈接提供了指向較舊版本以及您訪問時可能正在工作的任何較新版本的鏈接。
探索Python內(nèi)置函數(shù)
dir()和help()都是Python內(nèi)置函數(shù)的示例。這些功能始終可以在Python,正在創(chuàng)建的任何應(yīng)用程序以及Python命令提示符下使用。這些內(nèi)置函數(shù)也是標(biāo)準(zhǔn)庫的一部分。
實(shí)際上,如果您搜索python內(nèi)置函數(shù),則某些搜索結(jié)果將直接指向python文檔。 單擊該鏈接將打開標(biāo)準(zhǔn)庫文檔的該部分,并顯示所有內(nèi)置函數(shù)的表。 在該頁面上,您可以單擊任何功能的名稱以了解更多信息。
Python的內(nèi)置函數(shù)。