1 min read

学习在python中使用类

1. 建立BankAccount类

栾佳硕的作业:建立一个对象,名为BankAccount.它应该有一些属性,包括账户名(一个字符串)、账号(一个字符串或整数)和余额(一个浮点数) 另外还要有一些方法显示余额、存钱和取钱。

定义类BankAccount,包括三个属性:

  • user_name,账户名(一个字符串)
  • account_number,账号(一个字符串或整数)
  • balance,余额(一个浮点数)。

设置三个方法:

  • get_balance(),展示当前账号余额
  • save_money(),存钱
  • withdraw_money(),取钱
class BankAccount:
    def __init__(self,user_name,account_number,balance):
      self.user_name = user_name
      self.account_number = account_number
      self.balance = balance
      
    def get_balance(self):
        print("账户%s当前余额为%.2f元。" % (self.account_number,self.balance))
        return(self.balance)
        
    def save_money(self,money):
        self.balance += money
        
    def withdraw_money(self,money):
        self.balance -= money

根据BankAccount,创建一个账户:

  • 用户名:luansheng
  • 账号: 82833299492
  • 余额:0元
luan_account = BankAccount("luansheng","82833299492",0.0)

存入1亿元

luan_account.save_money(100000000)
luan_account.get_balance()
## 账户82833299492当前余额为100000000.00元。
## 100000000.0

取款3千万元过春节

luan_account.withdraw_money(30000000)
luan_account.get_balance()
## 账户82833299492当前余额为70000000.00元。
## 70000000.0

2. 建立InterestAccount类

建立一个类,名为InterestAccount。它可以挣利息。他要继承BankAcccount的属性以及方法(在之前的挑战任务栏)。 在属性栏中增加个利息率,另外还要增加一个方法用来挣利息。 这里,继续需要把父类的所有属性都加上?也太麻烦了!

class InterestAccount(BankAccount):
    def __init__(self,user_name,account_number,balance,interest_rate):
        BankAccount.__init__(self,user_name,account_number,balance)
        self.interest_rate = interest_rate
    def save_money(self,money,year):
        self.balance += money*((1+self.interest_rate) ** year)

计算存1万元,利息为0.045,存10年,可以赚多少钱?

luan_account2 = InterestAccount("luansheng","82833299492",0.0,0.045)
luan_account2.save_money(10000,10)
print("1万元存10年,利息为0.045,可以多赚%.2f元" % (luan_account2.get_balance() - 10000))
## 账户82833299492当前余额为15529.69元。
## 1万元存10年,利息为0.045,可以多赚5529.69元