首页 > 解决方案 > 在 Python 的另一种方法中使用一种方法中的变量

问题描述

在 Python 中,我试图在一种方法中为变量赋值,然后在另一种方法中为同一个变量添加另一个值。两种方法都在同一个类中。这是我想要实现的目标:

class Account_Balance(Account_General):
    def __init__(self, first_name, middle_name, last_name, PIN, DoB, city, address, phone_number, email):
        super().__init__(first_name, middle_name, last_name, PIN, DoB, city, address, phone_number, email)
    
    def account_balance(self):
        self.balance = 10.0 
        return self.balance
    
    def account_deposite(self, amount):
        self.amount = amount
        self.balance += self.amount

输出为:属性错误:“Account_Balance”对象没有属性“余额”

你认为我在哪里弄错了?谢谢!

标签: pythonmethods

解决方案


account_deposite之前调用self.balance的已经初始化了。像这样的属性应该在__init__. 尝试这个

class Account_Balance(Account_General):
    def __init__(self, first_name, middle_name, last_name, PIN, DoB, city, address, phone_number, email):
        super().__init__(first_name, middle_name, last_name, PIN, DoB, city, address, phone_number, email)
        self.balance = 0.0
    
    def account_balance(self):
        self.balance = 10.0 
        return self.balance
    
    def account_deposite(self, amount):
        self.amount = amount
        self.balance += self.amount

推荐阅读