【发布时间】:2022-01-01 11:38:46
【问题描述】:
尝试存入钱包,第一次调用成功,然后当我再次调用存款函数时,它会给我错误。TypeError: 'int' object is not callable
有什么解决办法吗?
class Bank():
def __init__(self,wallet):
self.wallet = wallet
def withdraw(self,withdraw):
self.withdraw = withdraw
def deposit(self, deposit):
self.deposit = deposit
self.wallet += self.deposit
bank = Bank(0)
bank.deposit(500)
print(bank.wallet)
bank.deposit(500)
print(bank.wallet)
【问题讨论】:
-
你为什么要
self.deposit = deposit?一旦你完成了bank.deposit不再是一个方法,它就是一个 int。 -
我假设每次我在一个类中创建一个函数时,我都需要 self.对于每个变量。
-
您在
__init__方法中经常看到类似的行,因为__init__是您定义对象的所有属性的地方,但您通常不想在__init__之外设置新属性,__init__中设置的所有属性也不需要与函数参数为 1:1。例如,您的Bank.__init__可以始终将self.wallet = 0设置为开头,并且根本不需要wallet参数。 -
啊,好的,我会记下来的,非常感谢您澄清这一点!
标签: python python-3.x oop