我只是从python开始,从良好的旧银行分配开始。一个问题是在类中设置两个全局变量:total_balance和total_customer,前者是所有客户的余额(浮点值)和后者的客户总数(整数)。我想不出一种在班级中声明这一点的方法。
当前类定义是:
class BankAccount:
def __init__(self, name, balance=0.00):
self.name = str(name)
self.balance = float(balance)
通过全局变量,您应该指的是类变量,其值范围较大,而不绑定到一个实例。在您的情况下,可以像这样定义total_balance
和total_customer
类变量,以便每个新的BankAccount
对象的实例化将相应地增加两个类变量:
class BankAccount:
total_balance = 0.0
total_customer = 0
def __init__(self, name, balance=0.0):
self.name = name
self.balance = balance
self.total_balance += balance
self.total_customer += 1
也许这样的东西就足够了吗?
class BankAccount:
def __init__(self, name, balance=0.00):
self.name = str(name)
self.balance = float(balance)
def total_all_accounts(account_list):
total = 0
for account in account_list:
total += account.balance
print("Total held in bank: ${0:.2f}".format(total))
print("Total number of customers: {}".format(len(account_list)))
myList = []
for i in range(25):
account = BankAccount('John Doe', balance=5.00)
myList.append(account)
total_all_accounts(myList)
这将创建一个对象列表(所有客户均为" John Doe",并在制作帐户时存入$ 5.00)。然后,我们拥有一个函数,可以从此列表中获取信息,并根据客户和总存款来总计。您可能想更改列表的制作方式,以使客户具有不同的名称和帐户余额,但是我认为此示例显示了如何将对象存储在列表中并在函数中访问其属性!
对我来说,这输出:
在银行举行的总计:$ 125.00
客户总数:25