Python错误 "name 'self'未定义"

2024-03-28 11:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个方法内部的类中引用一个变量,我尝试了不带self的方法,但这给了我一个错误“name‘one’is not defined”。

class hello(object):
    self.one = 1
    def method(self):
        print one

food = hello()
food.method()

Tags: 方法nameselfhelloobjectfoodisdef
2条回答

应该是print self.one,而不是print one,应该是one = 1,而不是self.one = 1

要定义类变量还是实例变量?

对于在实例/对象范围内定义的变量,请使用:

class hello(object):
    def __init__(self):
        self.one = 1

    def method(self):
        print self.one

food = hello()
food.method()

对于类变量:

class hello(object):
    one = 1

    def method(self):
        print hello.one

food = hello()
food.method()

相关问题 更多 >