鱼C论坛

 找回密码
 立即注册
查看: 780|回复: 2

[已解决]求助!!各位大佬,请问下面代码的错误是如何出现的,如何解决

[复制链接]
发表于 2020-6-18 19:08:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> class Res():
        def __init__(self,num = 0):
                self.num = num
        def incr(self):
                self.abc += self.num
        def set(self,number):
                self.number = number
                print('最多%d就餐'%self.number)
        def increment(self,a):
                self.number1 = a
                self.number += self.number1
                print('增加%d人就餐'%self.number1 + ',最多%d人就餐'%self.number)

               
>>> a = Res(4)
>>> a.incr()
Traceback (most recent call last):
  File "<pyshell#76>", line 1, in <module>
    a.incr()
  File "<pyshell#74>", line 5, in incr
    self.abc += self.num
AttributeError: 'Res' object has no attribute 'abc'
最佳答案
2020-6-18 19:39:08
本帖最后由 1223253411 于 2020-6-18 19:54 编辑

错误的点在
def incr(self):
    self.abc += self.num
这里,为什么呢,self.abc都没有定义啊,没有这个变量怎么累加?
就像
b = 1
a += b
# a是啥??

你可以先在初始化函数下定义一个self.abc,这样在内存中才能找到这个变量的存在


ps:错误的第一时刻,你应该看它的报错行,报错信息

Traceback (most recent call last):
  File "<pyshell#76>", line 1, in <module>
    a.incr()
  File "<pyshell#74>", line 5, in incr
    self.abc += self.num
AttributeError: 'Res' object has no attribute 'abc'

看 , 它已经很明确的告诉你Res对象没有属性abc了,这个报错真的很重要的,解决问题都是从这个点出发,如果你不看的话,会损失很多东西的

英文不是障碍,因为有百度翻译、谷歌翻译、有道翻译、阿巴阿巴阿巴等等,我还真不信每个程序员英语都牛啤 ,反正我英语不行,没有翻译我都看不懂



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-18 19:31:14 | 显示全部楼层
求助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-18 19:39:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 1223253411 于 2020-6-18 19:54 编辑

错误的点在
def incr(self):
    self.abc += self.num
这里,为什么呢,self.abc都没有定义啊,没有这个变量怎么累加?
就像
b = 1
a += b
# a是啥??

你可以先在初始化函数下定义一个self.abc,这样在内存中才能找到这个变量的存在


ps:错误的第一时刻,你应该看它的报错行,报错信息

Traceback (most recent call last):
  File "<pyshell#76>", line 1, in <module>
    a.incr()
  File "<pyshell#74>", line 5, in incr
    self.abc += self.num
AttributeError: 'Res' object has no attribute 'abc'

看 , 它已经很明确的告诉你Res对象没有属性abc了,这个报错真的很重要的,解决问题都是从这个点出发,如果你不看的话,会损失很多东西的

英文不是障碍,因为有百度翻译、谷歌翻译、有道翻译、阿巴阿巴阿巴等等,我还真不信每个程序员英语都牛啤 ,反正我英语不行,没有翻译我都看不懂



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 13:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表