首页 > 解决方案 > 如何停止收到错误消息 self is not defined?

问题描述

import random

class numbers:
    
    def numGen(self):
        self.num1 = random.randint(100,9999)
        self.num2 = random.randint(1,9)
    
    def question(self):
        self.questions = str(self.num1) + " X " + str(self.num2)
        print(self.question)
    
    numGen(self)
    question(self)

if __name__ == "__main__":
    numbers()

每当我尝试运行我的代码时,我都会收到错误消息“未定义的变量自我”。我不确定如何解决这个问题。任何帮助将非常感谢。

标签: pythonpython-3.x

解决方案


Self 用于引用类中的变量字段,也用于表示类的实例(self 在函数内作为关键字的情况)。

import random


class numbers:
    
    def __init__(self):
        self.numGen()
        self.question()

    def numGen(self):
        self.num1 = random.randint(100, 9999)
        self.num2 = random.randint(1, 9)

    def question(self):
        self.questions = str(self.num1) + " X " + str(self.num2)
        print(self.questions) # You had a typo here


if __name__ == "__main__":
    numbers()

推荐阅读