用python调用同一类中的变量

亚历山德罗

我试图在同一个类的另一个函数内调用一个函数中定义的变量,但是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__'是因为我没有什么可放的,即使我正式不需要它也可以添加它吗?

谢谢你的帮助。

奔腾

您的ab变量是局部的。您只能在方法范围内使用这些变量。如果您想要一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章