簡體   English   中英

Python 3內置函數和類

[英]Python 3 built-in functions and classes

當我使用以下語句創建list

a = list('jane')

我是在調用Python的內置list函數還是實例化list類。

我的理解是我們通過傳遞'jane'作為參數來實例化list類。

但是,Python的文檔https://docs.python.org/3/library/functions.html表示list()是內置函數。

提到的文檔頁面將回答您的問題:

class list([iterable])
List實際上不是可變的序列類型,而是ListSequence Types(list,tuple,range)中記錄的,而不是一個可變的序列類型。

在Python中,類和函數都是可調用的,因此在實踐中,您可以將它們視為相同。

文檔明確指出:

class list([iterable])

list實際上不是可變函數,而是可變的序列類型

您可以輕松檢查以下內容:

>>> type(list)
type

如果它是一個函數,那么function將是使用type提供的輸出。

實例化list對象的方式與創建自己的類並調用它的方式相同。 type__call__本質上會被調用並設置您的實例,因此,盡管它們本身不是函數,但它們是可調用的。


它們在該特定部分中列出的事實可能是為了方便起見,這可能會使您感到困惑,但是閱讀該說明會消除歧義。

您正在實例化一個列表。

class list([iterable]) list實際上不是可變的,而是可變的序列類型,如Lists和Sequence Types(列表,元組,范圍)中所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM