我在这里找到了一个解决方案,但后来我意识到它是Python2.7。我正在使用Python3.3.7,最近我一直在试验类,我相信我可能最终弄糊涂了。我有两份文件;我的类文件(Dice.py):
class Dice:
def __init__(self, sides):
self.sides = sides
@classmethod
def roll(self):
return self.sides + 2
还有我的主文件。
from Dice import Dice
Dice(int(input('How many sides are on the dice? ')))
print(Dice.roll())
从理论上讲,现在非常简单。然而,我遇到了一个奇怪的属性错误,它让我在这十行左右的代码上停留的时间远远超过了我愿意承认的时间。我一直收到一个“AttributeError:type对象'Dice'没有属性'sides'
“每次我试图运行主文件时,理论上应该会给出输入量+2的答案。
我已经通过多种方式对其进行了检查和初始化,添加了@classmethod,重命名了属性等等;我就是无法摆脱这个错误。我想知道,如果一开始没有引用init函数,那么这个错误到底意味着什么,以及如何修复它,使它能够真正运行。非常感谢。