Re: [問題] 設定 member var

看板Python作者 (←這人是超級笨蛋)時間14年前 (2011/03/24 18:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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

03/28 17:54, , 1F
但是第二個不同instance會有同值?
03/28 17:54, 1F
文章代碼(AID): #1DYnlPQ5 (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1DYnlPQ5 (Python)