【发布时间】:2012-03-06 21:14:29
【问题描述】:
我想我对Python中“类”和“继承”的用法有一些误解。我将我的问题简化如下:
class A:
def __init__(self):
self.data = 100
class B(A):
def b(self):
print self.data
>>>B().b()
>>>100
好的,到目前为止一切顺利。但是,如果我创建另一个类,就会出错,如下所示:
class C(A):
def c(self, num=self.data):
print self.data
>>>C().c()
NameError: name 'self' is not defined
我想将'num'的默认值设置为self.data,即'100'。没有'class',它会简单得多:
data = 100
def d(num = data):
print num
>>>d()
>>>100
我已经用谷歌搜索了一些文章,但仍然陷入这个问题...... 提前致谢!
【问题讨论】:
标签: python class variables inheritance self