python出现'int' object is not callable“错误的解决办法

‘int’ object is not callable 解决办法

问题:创建一个信用卡账户类,该类为银行账户类的子类。除了银行账户类的属性之外,该类还有信用额度属性,以及透支额属性。此外,该类还需要重写父类的取款方法,该方法在取款额超过账户余额且两者的差值不超过信用额度时,会修改透支额属性;而当差值超过了信用额度时则会提示交易失败。创建一个信用卡账户类对象,用户名为Sam,余额为1000元,信用额度为1000元。先取出700元,再取出1500元,看看结果如何。
class bank_count():
    def __init__(self,name,balance):
        self.name = name
        self.balance = balance
    def deposit_money(self,amount_money):
        '''存款'''
        self.balance +=amount_money
    def withdraw_money(self,amount_money):
        '''取款'''
        self.balance -=amount_money
    def get_banlance(self):
        '''获取余额'''
        print(self.balance)
    def amend_balance(self,balance):
        '''修改余额'''
        self.balance = balance
    def Transfer_account(self,bank_count,amount_money):
        self.balance -= amount_money
        bank_count.deposit_money(amount_money)

class Credit_Card(bank_count):
    def __init__(self,name,balance,credic_amount_money):
        super().__init__(name,balance)
        self.credit_amount_money = credic_amount_money
    def withdraw_money(self,amount_money):
        D_value = amount_money - self.balance()
        if D_value < 0 :
            self.balance -= amount_money
        elif D_value > self.credit_amount_money:
            print("交易失败,超过限额")
        else:
            self.credit_amount_money -= D_value
Credit_Card_Sam = Credit_Card('Sam',1000,1000)

Credit_Card_Sam.withdraw_money(700)
print(Credit_Card_Sam.credit_amount_money)
Credit_Card_Sam.get_banlance()
Credit_Card_Sam.withdraw_money(1500)

出现错误:

Traceback (most recent call last):
  File "F:/MyPython/MyPython/Test.py", line 35, in <module>
    Credit_Card_Sam.withdraw_money(700)
  File "F:/MyPython/MyPython/Test.py", line 26, in withdraw_money
    D_value = amount_money - self.balance()
TypeError: 'int' object is not callable

Process finished with exit code 1

原因:错把属性值当方法进行使用
解决:改为

D_value = amount_money - self.balance
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值