1.在类中,包括变量,方法和属性,其中变量又分为实例变量和类变量,方法分为实例方法和类方法
实例变量:实例变量就是某个实例或对象个体特有的数据,例如你家狗狗的名称和邻居家的狗狗名称是不一样的
例:
class Animal:
"定义动物类”
def __init__(self,age,sex,weight):
self.age = age "定义年龄实例变量”
self.sex = sex
self.weigt = weight
类变量
类变量是所有实例或对象共有的变量,例如有一个Account(银行账户)类,他有三个成员变量,amount(账户金额),interest_rate(利率)和owner(账户名)。在这三个成员变量中,amount和owner都是变化的,只有interest_rate是相同的,因此我们可以将interest_rate定义为类变量
class Account:
"定义银行账户类"
interest_rate = 0.1"用赋值方法定义类变量"
def__init__(self,owner,amount):
self.owner = owner "定义实例变量用户名"
self.amount = amount "定义实例变量账户金额“
调用类变量:类名.类变量、
2.实例方法
方法是在类中被定义的函数
类方法:类方法不需要与实例绑定,但需要与类绑定。
定义类方法有两个关键,第一,方法第一个参数是cls,是type的一个实例。第二:方法使用装饰器@classmethod声明该方法时类方法
class Account:
"定义银行账户类"
interest_rate = 0.1"用赋值方法定义类变量"
def__init__(self,owner,amount):
self.owner = owner "定义实例变量用户名"
self.amount = amount "定义实例变量账户金额“
#类方法
@classmethod
def interest_by(cls,amt):
return cls.interest_rate*mat (2)
代码(2)是方法体,在类方法中可以其他的类变量或者类方法,但不能调用其他实例方法和实例变量
静态方法:
如果定义的方法既不想跟实例绑定也不想与类绑定,可以使用静态变量
定义静态变量需要使用装饰器@staticmethod,声明方法是静态变量,使用方法与类变量类似