有人在IRC上告訴我,這是不好用類作爲包裝 - 其中有人,我認爲他有蟒蛇
一些經驗,我從.NET是它是使用包裝類常見的做法包裝類是'壞'嗎?
爲什麼使用包裝類應該是不好的風格?
當然,我可以使用tulpe - 但我看不到它的任何好處。
作爲volcano說,tulpes也不可改變
此外,他們是不可繼承
包裝類
class Movie(object):
def __init__(self):
self.title = ''
self.plot = ''
...
# no functions/methods in here - only variables
使用Movie
該類
class Foo(object):
def bar(self):
movie = Movie()
movie.title = 'Ice Age'
這看起來像['namedtuple']的工作(http://docs.python.org/2/library/collections.html#collections.namedtuple)。 – user2357112
@ user2357112,取決於。 namedtuple是不可變的 – volcano
如果你沒有使用'class'作爲合適的類,那麼你將它有效地用作命名空間,並且類的命名空間部分實際上是一個'dict' ....所以你可能會以及使用:'電影= {'標題':'冰河時代'}'並使用'['標題']'訪問(如果你真的想要的話,你可以使用支持屬性訪問的'dict'的變體)。 。如果你想要限制屬性的創建,那麼你可以使用'__slots__'類,或者有其他方法來處理其他行爲,但是除非它是一個實際的類,否則你幾乎肯定不需要一個Movie類(如圖所示)。 ... –