【发布时间】:2022-01-21 05:16:39
【问题描述】:
我想将can_add 方法中的d 值用于add 方法,但得到错误'MoneyBox' object has no attribute 'd'。如何将d 值用于add 方法?
class MoneyBox:
def __init__(self, capacity = 0):
self.capacity = capacity
def can_add(self, v):
self.v = v
if self.capacity > self.v:
self.d = True
return d
else:
self.d = False
return self.d
def add(self, v):
self.can_add(v)
if self.d == True:
self.v += v
f = self.capacity - self.v
return f
a = MoneyBox(10)
a.add(5)
【问题讨论】:
-
您将局部变量(
d、v)与“类变量”(self.d、self.v)混合在一起。 -
d未在任何地方定义。
标签: python python-3.x oop