我试图在同一个类的另一个函数内调用一个函数中定义的变量,但是self
不能正常工作。
class Project():
def function1(self):
a='hello world,'
def function2(self):
b=self.a + ' I am alive'
Project1=Project()
print Project1.function1()
print Project1.function2()
python说:Project instance has no attribute 'a'
。
我不太清楚如何使用类。我没有使用__init__
'是因为我没有什么可放的,即使我正式不需要它也可以添加它吗?
谢谢你的帮助。
您的a
和b
变量是局部的。您只能在方法范围内使用这些变量。如果您想要一个class属性(与所有类共享),则必须设置likeself.a = ...
和self.b = ...
。在python中,不必创建构造函数方法,__init__
也不必初始化这些属性。但是在您的示例中,如果您在调用functions2
之前function1
将崩溃,因为您使用的是一个不存在的属性。然后建议初始化属性。您可以像这样初始化属性:
class Project:
a = ''
b = ''
def function1(self):
self.a='hello world,'
def function2(self):
self.b=self.a + ' I am alive'
需要记住的更多事情:
1.变量使用小写字母和蛇形字母:project1 = Project()
2.您的打印内容不会打印任何内容,因为您的函数不会返回任何内容。您必须返回以下内容:
def function1():
return 'hello world,'
或者如果您需要设置a并打印:
def function1():
self.a = 'hello world,'
return self.a
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句