在 Python 中,一个对象可以有另一个对象作为属性吗?

Chr*_*isC 5 python oop

在 Python 中,一个对象可以有另一个对象作为属性吗?例如,一个叫做car的类可以有一个叫做Tire的类作为属性吗?

msw*_*msw 3

你的意思是一个类tire还是一个类的实例tire?它可以两者兼有,尽管后者可能更有用。如果您正在寻找一个具有类型的对象的类对象您需要各种赋值:MaryFredclassinst

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
>>> class Fred(object): pass
... 
>>> class Mary(object):
...     def __init__(self):
...         self.classref = Fred
...         self.classinst = Fred()
... 
>>> x = Mary()
>>> dir(x)
[... 'classinst', 'classref']
>>> x.classref
<class '__main__.Fred'>
>>> x.classinst
<__main__.Fred object at 0xb76eed0c>
Run Code Online (Sandbox Code Playgroud)