我正在尝试完全掌握Python中的类继承。我已经创建了带有类的程序,但它们都在一个文件中。我还创建了包含多个文件的脚本,这些文件只包含函数。我已经开始在包含多个文件的脚本中使用类继承,我遇到了一些问题。我下面有两个基本脚本,我正在尝试让第二个脚本继承第一个脚本的值。代码如下:
第一个脚本:
class test():
def q():
a = 20
return a
def w():
b = 30
return b
if __name__ == '__main__':
a = q()
b = w()
if __name__ == '__main__':
(a, b) = test()第二个脚本:
from class1 import test
class test2(test):
def e(a, b):
print a
print b
e(a, b)
if __name__ == '__main__':
test2(test)谁能给我解释一下如何让第二个文件继承第一个文件的值?谢谢你的帮助。
发布于 2010-02-12 23:01:48
我会说你把类的定义和函数的东西搞乱了。它应该看起来更像这样:
class Test(object):
def __init__(self):
self.a = 20
self.b = 30
if __name__ == '__main__':
test_instance = Test()和
from class1 import Test
class Test2(Test):
def e(self):
print self.a
print self.b
if __name__ == '__main__':
test_instance = Test2()
test_instance.e() # prints 20 and 30看起来你的问题不仅仅是继承,还有如何正确的 。
一些注意事项:
self.__init__方法中将实例变量设置为self.variable = value来创建实例变量。Test(),你会得到一个返回的对象。除非将它赋给一个变量,否则只像在第二段代码中那样调用test2()是没有效果的。也许在您的例子中是这样的,因为它以一种奇怪的方式定义了您的类。发布于 2010-02-12 23:02:03
在Python语言中,类的每个成员函数(方法)都应该有一个名为self的变量,它几乎就是C++、Java、C#中的this指针/引用。
基本上,为了使您的代码正常工作,将self作为第一个参数添加到所有方法。要分配/读取成员变量,请使用self.a和self.b,否则您只需按现在的方式创建临时函数变量。
https://stackoverflow.com/questions/2252620
复制相似问题