一、示例说明:
一个Account(银行账户)类,有三个成员变量:amount(账户金额)、interest_rate(利率)、owner(账户名)。amount与owner对于每个账户均是不同的,而interest_rate对于所有账户均是相同的。前两者是实例变量。interest_rate是所有账户实例共享的变量,属于类,称为类变量。
二、示例代码与要点注释:
class Account:
interest_rate = 0.0668 # 类变量:interest_rate即利率
def __init__(self, owner, amount):
self.owner = owner # 创建并初始化实例变量owner
self.amount = amount # 创建并初始化实例变量amount
@classmethod # 定义类方法需要用装饰器,以@开头修饰方法、函数、类,用来约束它们
def interest_by(cls, amount):
return cls.interest_rate * amount # cls代表类自身,即Account类
account = Account('Tony', 800000)
print('账户名:{0}'.format(account.owner)) # 对实例变量通过"对象.实例变量"形式访问
print('账户金额:{0}'.format(account.amount))
print('利率:{0}'.format(Account.interest_rate)) # 对类变量通过"类名.类变量"形式访问
interest = Account.interest_by(12000) # 对类方法通过"类名.类方法"形式访问
print('计算利息:{0:.2f}'.format(interest))