Re: [問題] 設定 member var
※ 引述《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
03/28 17:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章