为什么当我尝试访问班级中的属性时会收到 NameError?
- 作者: 叶子君23
- 来源: 51数据库
- 2023-01-06
问题描述
我有这个类的代码:
class Triangle(object):
def __init__(self, side1, side2, side3):
self.side1 = side1
self.side2 = side2
self.side3 = side3
def perimeter(self):
return "Perimeter = %s" % (side1 + side2 + side3)
a = Triangle(3, 4, 5)
print(a.perimeter())
运行此代码会引发异常:
Running this code throws an exception:
Traceback (most recent call last):
File "untitled.py", line 12, in <module>
print(a.perimeter())
File "untitled.py", line 9, in perimeter
return "Perimeter = %s" % (side1 + side2 + side3)
NameError: name 'side1' is not defined
perimeter方法中怎么访问不到side1?
推荐答案
替换
return "Perimeter = %s" %(side1 + side2 + side3)
到
return "Perimeter = %s" %(self.side1 + self.side2 + self.side3)
你错过了添加self
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
