Python的NameError:name ‘number’ is not defined 解决办法

  • Post author:
  • Post category:python


class people:
    #所有的实例都会共享
    number = 100 #血量
    #构造函数,初始化的方法,当创建一个类的时候,首先会调用它
    def __init__(self,name,age):
        self.name = name
        self.age  = age
    def display(self):
        print('number = :',number)
    def display_name(self):
        print(self.name)

直接调display() 报错

p1.display()
NameError                                 Traceback (most recent call last)
<ipython-input-29-7221f8402866> in <module>()
----> 1 p1.display()

<ipython-input-24-c2ee2ce51162> in display(self)
      9         self.age  = age
     10     def display(self):
---> 11         print('number = :',number)
     12     def display_name(self):
     13         print(self.name)

NameError: name 'number' is not defined

是由于number 没有被定义,因为number是people类里面的,所以我们需要定义number,即people.number

class people:
    #所有的实例都会共享
    number = 100 #血量
    #构造函数,初始化的方法,当创建一个类的时候,首先会调用它
    def __init__(self,name,age):
        self.name = name
        self.age  = age
    def display(self):
        print('number = :',people.number)
    def display_name(self):
        print(self.name)
  p1.display()

输出如下结果

number = : 100



版权声明:本文为qq_41387939原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。