如何在Python中的类中使用类变量?

时间:2014-12-07 00:52:00

标签: python python-3.x

当我尝试在方法中使用x时,会产生错误,说''x'未定义“

class main:
    x=20
    def __init__(self):
        pass

    def func(self):
        z=x+10
        print(z)

obj1=main()
obj1.func()

3 个答案:

答案 0 :(得分:3)

您可以通过self

使用它
class main:
    x=20
    def __init__(self):
        pass

    def func(self):
        z=self.x+10
        print(z)

obj1=main()
obj1.func()

或通过self.__class__

class main:
    x=20
    def __init__(self):
        pass

    def func(self):
        z=self.__class__.x+10
        print(z)

obj1=main()
obj1.func()

或通过班级名称:

class main:
    x=20
    def __init__(self):
        pass

    def func(self):
        z=main.x+10
        print(z)

obj1=main()
obj1.func()

答案 1 :(得分:0)

class main:
    x=20
    def __init__(self):
        pass

    def func(self):
        z=self.x+10
        print(z)

obj1=main()
obj1.func()

我总是喜欢代码如下,在构造函数方法中初始化值。

class main:

    def __init__(self):
        self.x = 20

    def func(self):
        z=self.x+10
        print(z)

obj1=main()
obj1.func()

答案 2 :(得分:0)

将第一行func更改为

  z = self.x + 10