weixin_40793326 2020-02-27 11:16 采纳率: 0%
浏览 197

定义一个类,在print时报错。

定义一个类,为什么需要在print之前重新定义一次?

class people:
name = ''
age = 0
weight = 0
def __init
(self,n,a,w):
self.name = n
self.age = a
self.__weight - w
print ("%s 说: 我 %d 岁。" %(self.name,self.age))

Traceback (most recent call last):
File "", line 1, in
class people:
File "", line 9, in people
print ("%s 说: 我 %d 岁。" %(self.name,self.age))
NameError: name 'self' is not defined
下面这一行却可以:
class people:
name = ''
age = 0
weight = 0
def __init
(self,n,a,w):
self.name = n
self.age = a
self.__weight - w
def speak(self):
print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
小白,不理解其中的原理,求解答。

  • 写回答

1条回答 默认 最新

  • 反正就是挖掘机 2020-02-28 12:24
    关注

    你没有实例化类,我已经为你改好了:

    class people:
        name = ''
        age = 0
        weight = 0
        def __init(self,n,a,w):
            self.name = n
            self.age = a
            self.__weight - w
    p = people()
    print ("%s 说: 我 %d 岁。" %(p.name,p.age))
    
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用