看板 Python 關於我們 聯絡資訊
※ 引述《huggie (huggie)》之銘言: : 我有個 base class 想要設定member variable : self.x = 'XXX' 希望 subclass 都可以 initialize這個 self.x : 一般可能放 def __init__(self) : 但我不肯定 subclass 是否有這個init : 或者可能是 __init__(self, a) 等 : 那有甚麼好方法可以確定 self.x 被 initialize? 1. 繼承 class Base(object): __init__(self): self.x = 0 class Child(Base): __init__(self, a = None): super(Base, self).__init__() 2. Class 本身也是 object, 可以有自己的 member class Base(object): x = 0 # Doesn't matter class Child(Base): pass # Doesn't matter 以上兩個結果一樣: base = Base() print base.x # 0 child = Child() print child.x # 0 不過第二個會有個副作用: print Base.x # 0 print Child.x # 0 -- "問おう、貴方が私のマスターか?" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.94.63
huggie:但是第二個不同instance會有同值? 03/28 17:54