Я просто работаю над примером, чтобы помочь мне узнать, как работает ООП на Python. Вот класс, я работаю с:Понимание ошибки: объект 'str' не является вызываемым
class account(object):
def __init__(self,holder,number,balance,credit_line=1500):
self.holder=holder
self.number=number
self.balance=balance
self.credit_line=credit_line
def deposit(self,amount):
self.balance+=amount
def withdraw(self,amount):
if (self.balance-amount < -self.credit_line):
#coverage insufficient
return False
else:
self.balance-=amount
return True
def balance(self):
return self.balance
def transfer(self,target,amount):
if (self.balance-amount < -self.credit_line):
#coverage insufficient
return False
else:
self.balance-=amount
target.balance+=amount
return True
А вот программа драйвера я использую, чтобы проверить его:
import account
john=account.account("John Doe","12345","1000.00")
res=john.balance()
print "%r" %res
john.deposit(1500)
res=john.balance()
print "%r" %res
Я получаю сообщение об ошибке при попытке запустить это:
Traceback (most recent call last):
File "banker.py", line 4, in <module>
res=john.balance()
TypeError: 'str' object is not callable
У кого-нибудь есть идеи, почему это так?
Я бы рекомендовал использовать разные имена, в настоящее время у вас есть две разные вещи с именем 'balance'. – shuttle87