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

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

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值