[英]Is it possible to create attributes out of the class scope?
是否可以向其范圍之外的對象添加屬性?
即:以下代碼不起作用,我該怎么做我打算用該代碼做什么?
b = object()
b.foo = "bar"
一般來說,這是可能的。 但是,大多數類型都不可能用C語言實現,而不是用Python實現。 不幸的是,這適用於最常用的標准Python解釋器的內置類型。
如果你在Python中定義自己的類,你會發現它工作正常。
class MyObject(object):
pass
b = MyObject()
b.foo = "bar"
object()
實例在設計上是“ 無特征的 ”,因為它們沒有任何魔術方法(沒有dict,沒有getter / setter,沒有迭代等)來指示你可能期望從其他類型中獲得的默認行為。 為了使它工作,您必須首先將object
子類化:
class Foo(object): pass
f = Foo()
f.bar = "omgwtf!"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.