要使用SetRate更改rod=0.1的值,以便在整个类中进行更改吗
class RetailCustomer:
def __init__(self, price, rod=0.1):
self.price = price
self.rod = rod
def getRate(self):
return self.rod
def setRate(self, rate):
self.rod = rate
print("After changing Rate: ", self.rod)
return self.rod
RetailCustomer(int(input('Discount Rate: '))).setRate(10)
#还尝试使用此“RetailCustomer.setRate(10)”,但它抛出了“TypeError:setRate()缺少1个必需的位置参数:'rate'”此错误,如“(int(input('Discount rate:')))”。我认为不需要这一行
静态方法无法访问实例
self
。不要对setter方法使用@staticmethod
,对不需要访问类属性的实用程序函数使用@staticmethod
。如果您想拥有获取或设置属性的方法,则不需要调用__init__
,它是对象的构造函数。相反,您可以只返回值或按如下方式设置值:相关问题 更多 >
编程相关推荐