在Python中,對象是否可以有另一個對象作爲屬性?例如,可以稱爲汽車的汽車類有一個名爲輪胎作爲屬性的類?在Python中,對象是否可以有另一個對象作爲屬性?
1
A
回答
2
您的意思是類tire
或類tire
的實例嗎?雖然後者可能更有用,它可以有兩種。如果你正在尋找一個對象Mary
類的到已經-A型對象Fred
你想要的classinst
多種分配:
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>
0
把握;類,就像任何其他的值,可以是類或實例屬性:
class A(object):
pass
class B(object):
class_attr = A
def __init__(self):
self.instance_attr = A
有了這個代碼,你可以使用B.class_attr
或B().instance_attr
訪問A
。
0
是的。
>>> class tire:
... pass
...
>>> class car:
... def __init__(self, tire):
... self.tire = tire
...
>>> t = tire()
>>> t.brand = 'Goodyear'
>>> c = car(t)
>>> c.tire.brand
'Goodyear'
0
您可以將實例和類都作爲類和實例的屬性 - 所有四個組合都可以正常工作(並且可以自由組合)。但是,請記住類別和實例之間的區別 - 您對問題進行短語說明的方式表明存在一些混淆。無論如何,從字面上看你的問題:
可以稱爲汽車類有一個類 稱爲輪胎作爲屬性?
class tire(object):
...class body here...
class car(object):
thetire = tire
...rest of class body here...
一個tire = tire
分配中的car
身上是行不通的(命名混亂 - !),所以你需要比這就是它的價值類不同命名類屬性。 (這並不適用於例如屬性,因爲它們的語法,例如self.tire
,是的合格名,而不是barenames,所以沒有命名混亂 - 只類屬性)。這是否是導致你提出這個問題的問題的來源?
相關問題
- 1. 是否有一種方法可以將HttpServletRequest對象作爲屬性傳遞給另一個HttpServletRequest對象
- 2. 在另一個對象設置對象作爲新屬性
- 3. 屬性對象是否可以到達它屬於的對象?
- 4. PJRC編碼器對象作爲另一個對象的屬性
- 5. 是否可以確定一個對象是否被另一個對象引用?
- 6. 是否可以在javascript中將對象的屬性值設置爲對象?
- 7. python訪問另一個對象內的對象屬性
- 8. 是否有可能推對象爲在現有對象的屬性
- 9. 將php對象的屬性存儲在另一個對象中作爲參考
- 10. WMI對象與另一個對象作爲屬性(如何通過一個對象作爲輸入參數)
- 11. 我可以知道AppleScript對象是否具有某個屬性?
- 12. 將對象屬性初始化爲DataGridView中另一個對象屬性的值
- 13. 在另一個對象中設置類似的對象屬性
- 14. ConfigurationElementCollection對象是否可以爲其元素包含另一個ConfigurationElementCollection對象?
- 15. 是否可以從同一個原型對象中的另一個屬性創建一個屬性?
- 16. C#是否可以將稱爲方法的對象另存爲另一個對象作爲參考節點
- 17. 訪問對象是另一個對象的屬性 - 使用Javascript
- 18. 遍歷對象的值,這是另一個對象的屬性
- 19. 分配對象屬性爲另一個對象
- 20. 在另一個屬性中訪問一個對象屬性
- 21. dojo.dnd.Source對象是否可以包含另一個dojo.dnd.Source對象作爲其中一個子節點?
- 22. 是否可以在同一個對象內引用對象?
- 23. Qt對象中是否有屬性,用作默認值屬性?
- 24. 從另一個對象分配一個對象屬性
- 25. python對象可以嵌套屬性嗎?
- 26. 拉屬性對象作爲父對象
- 27. Android sqllite,查詢屬於另一個對象屬性的對象
- 28. 爲什麼不能將一個對象的屬性值用作另一個對象中的屬性名稱?
- 29. WCF:Request對象中另一個對象類型的一個屬性變爲NULL
- 30. 是否可以獲取對象的屬性和關聯屬性?
這是您可以擁有的唯一屬性。 – nosklo 2010-05-25 11:21:39