我正在學習enumerate()。在學習程序中,當我使用,
help(enumerate)
對class enumerate in 模塊內置的幫助。
class enumerate(object)
| enumerate(iterable, start=0)
|
| 回傳一個enumerate object。
|
| iterable
| 一個支持迭代的object。
|
enumerate object產生的對包含一個計數(從開始,這
| 默認為零)和由迭代引數產生的值。
|
enumerate 是有用的用于獲得一個索引的串列。
| (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
|
| 這里定義的方法。
|
| getattribute(self, name, /)
| 回傳 getattr(self, name)。
|
iter(self, /)
| 實施iter(self)。
|
next(self, /)
| 實施next(self)。
|
| reduce(...)
| 回傳狀態資訊 for pickling。
靜態方法在此定義。
new(*args, **kwargs) from builtins.type
創建和 回傳一個新的物件。參見help(type) for準確簽名。
甚至當我給作為,
enumerate。
<class 'enumerate' >
但是,當我在python的官方網站上查看檔案時,www.python.org為enumerate()
它顯示enumerate()是一個違反help()顯示的資訊的函式。
我不知道enumerate()是一個類還是一個函式。有誰能幫我解決這個問題呢?
順便說一下,我有 python 3.8.3。我甚至在 python 3.6 和 3.7.10 中也檢查過。
uj5u.com熱心網友回復:
關于Python的一個值得注意的事情是,通過實體化一個類和呼叫一個函式來創建一個物件,并沒有明顯的語法。
實際上,在引擎蓋下,在正確的抽象層上,這兩件事都是在用于傳遞引數的(...)之前的物件上運行__call__方法。
無論如何,"列舉 "呼叫必須回傳一個能夠被迭代的物件,這樣它就可以被用于for回圈結構。
從技術上講,你所看到的 "enumerate 是一個函式 "的檔案是不正確的 - 你甚至可以為它提交一個錯誤,表明它應該表明它是一個類。在實踐中,當為語言的初學者撰寫檔案和教程時,他們知道像 "enumerate"、"range"、"bool "這樣的東西本身就是類,而像 "open"、"iter "這樣的其他呼叫是回傳他們實體化的物件的函式,這對他們來說沒有什么好處。
uj5u.com熱心網友回復:
enumerate是python中的一個類,它回傳一個列舉的物件。
print(enumerate) --> <class 'enumerate'>。
如果它是一個函式,你會看到類似<內置函式enumerate>的東西。
你可能看到這個頁面 ,它的標題是 "內置函式",你認為它可能是一個函式。不,它不是。在該串列中,同時列出了函式(如abs,...)和類/型別(如int,...)。
Python 解釋器有許多內置的函式和型別,它們總是可用的。 它總是可用的。這里按字母順序列出了這些 順序排列。
Python 中的每個類都是型別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/310500.html
標籤:
