[英]Python: Instantiate class B within a class A instantiation, <class A name> object has no attribute <class B attribute>
[英]Does calling an attribute of a class instantiate an object of that class in Python?
如果我有Foo課...
class Foo(object):
bar = True
調用Foo.bar
實例化一個Foo類型的對象,該對象會立即收集垃圾?
我必須在Foo和bar之間包含()
來創建該類型的實例嗎?
如果我確實需要括號,它們會調用什么方法? __init__()
嗎?
調用Foo.bar實例化一個Foo類型的對象,該對象會立即收集垃圾?
不。您在此處將Foo.bar
定義為類屬性,而不是實例屬性。
我必須在Foo和bar之間包含()來創建該類型的實例嗎?
是的,調用Foo()
是創建Foo
對象的正確語法。
如果我確實需要括號,它們會調用什么方法?
__init__()
嗎?
首先將調用__new__
(也許是從超類object
),它實際上會創建新對象,然后將調用__init__
來初始化已存在的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.