python之(5)Python內置函數一覽表


Python 解釋器自帶的函數叫做內置函數,這些函數可以直接使用,不需要導入某個模塊。

如果你熟悉 Shell 編程,了解什么是 Shell 內置命令,那么你也很容易理解什么是 Python 內置函數,它們的概念是類似的。

將使用頻繁的代碼段封裝起來,並給它起一個名字,以后使用的時候只要知道名字就可以,這就是函數。函數就是一段封裝好的、可以重復使用的代碼,它使得我們的程序更加模塊化,不需要編寫大量重復的代碼。

內置函數和標准庫函數是不一樣的。

Python 解釋器也是一個程序,它給用戶提供了一些常用功能,並給它們起了獨一無二的名字,這些常用功能就是內置函數。Python 解釋器啟動以后,內置函數也生效了,可以直接拿來使用。

Python 標准庫相當於解釋器的外部擴展,它並不會隨着解釋器的啟動而啟動,要想使用這些外部擴展,必須提前導入。Python 標准庫非常龐大,包含了很多模塊,要想使用某個函數,必須提前導入對應的模塊,否則函數是無效的。

內置函數是解釋器的一部分,它隨着解釋器的啟動而生效;標准庫函數是解釋器的外部擴展,導入模塊以后才能生效。一般來說,內置函數的執行效率要高於標准庫函數。

Python 解釋器一旦啟動,所有的內置函數都生效了;而導入標准庫的某個模塊,只是該模塊下的函數生效,並不是所有的標准庫函數都生效。

內置函數的數量必須被嚴格控制,否則 Python 解釋器會變得龐大和臃腫。一般來說,只有那些使用頻繁或者和語言本身綁定比較緊密的函數,才會被提升為內置函數。

例如,在屏幕上輸出文本就是使用最頻繁的功能之一,所以 print() 是 Python 的內置函數。

在 Python 2.x 中,print 是一個關鍵字;到了 Python 3.x 中,print 變成了內置函數。

除了 print() 函數,Python 解釋器還提供了更多內置函數,下表列出了 Python 3.x 中的所有內置函數。

表 1 Python 3.x內置函數
內置函數
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slicea()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  


表 1 中各個內置函數的具體功能和用法,可通過訪問 https://docs.python.org/zh-cn/3/library/functions.html 進行查看。

注意,不要使用內置函數的名字作為標識符使用(例如變量名、函數名、類名、模板名、對象名等),雖然這樣做 Python 解釋器不會報錯,但這會導致同名的內置函數被覆蓋,從而無法使用。例如:

>>> print = "http://c.biancheng.net/python/"  #將print作為變量名
>>> print("Hello World!")  #print函數被覆蓋,失效
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    print("Hello World!")
TypeError: 'str' object is not callable


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM