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 中各個內置函數的具體功能和用法,可通過訪問 https://docs.python.org/zh-cn/3/library/functions.html 進行查看。
注意,不要使用內置函數的名字作為標識符使用(例如變量名、函數名、類名、模板名、對象名等),雖然這樣做 Python 解釋器不會報錯,但這會導致同名的內置函數被覆蓋,從而無法使用。例如:
>>> print = "http://c.biancheng.net/python/" >>> print("Hello World!") Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> print("Hello World!")TypeError: 'str' object is not callable