类,是一些有共同特征和行为事物的抽象概念的总和。
1. 定义一个类:
我们使用class来定义一个类,和之前说过的定义函数用def类似。在类里面给变量赋值时,专业术语称之为类的属性。
比如拿可口可乐来举例:
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 # formula意为配方,给变量formula赋值
2. 类的实例化
上面定义好了类,接下来举实例
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 4 coke_for_me = CocaCola() 5 print(coke_for_me.formula)
左边是变量名coke_for_me,右边是类的名称CocaCola,看起来很像在给变量赋值,我们将其称为类的实例化。而被实例化后的对象,称之为类的实例。
3. 类属性的引用
在第2点类的实例化中,print时括号中用的是cake_for_me.formula,当输入符号点(.)时,Pycharm会自动联想出定义的类的属性,这就是类属性的引用。
4. 实例属性的引用
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 4 coke_for_China = CocaCola() 5 # 创建实例 6 coke_for_China.local_logo = '可口可乐' 7 # 创建实例属性 8 print(coke_for_China.local_logo)
5. 实例方法
之前讲字符串时有说过字符串的方法,这里类的实例也有方法可以用。在类的实例中使用的方法即函数,但我们称之为实例方法。
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 def drink(self): 4 # 定义方法,self指被创建的实例本身,这里即下面的coke 5 print('Cool!') 6 7 coke = CocaCola() 8 coke.drink() 9 # 调用实例方法
6. __init__()的使用
__init__()的神奇之处在于,当类中定义了它之后,在创建实例时,它能帮忙自动处理很多事情,比如新增实例属性。
之前在第4点中,我们是先创建实例,再创建实例属性,用__init__()的话可以直接新增实例属性,后面直接调用即可。
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 def __init__(self): 4 # init是单词initializ(初始化)的缩写 5 self.local_logo = '可口可乐' 6 7 coke = CocaCola() 8 print(coke.local_logo)
7. 类的继承
像可口可乐,除了我们知道的原味之外,还有32种口味,不含咖啡因的、无糖可乐、樱桃味、柠檬味、 香草味等,他们都继承可口可乐这个品牌。在类中也一样,有父类和子类,子类可以继承父类,称之为类的继承。
1 class CocaCola: 2 formula = ['caffeine','sugar','water','soda'] 3 def __init__(self,coke_taste): 4 self.coke_name = coke_taste 5 def drink(self): 6 print('{}可乐的配方含有{} '.format(self.coke_name,self.formula)) 7 8 9 class CaffeineFree(CocaCola): 10 # 继承父类CocaCola 11 formula = ['High Fructose Corn Syrup','Carbonated Water'] 12 #无咖啡因可乐的配方 13 14 coke_a = CaffeineFree('无咖啡因') 15 # 给父类__init__中的coke_taste参数赋值CocaCola_Free 16 coke_a.drink()
关于类的简单介绍就到这里,后续会介绍如何使用第三方库。
操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac
----- End -----
作者:杜王丹,微信公众号:杜王丹,互联网产品经理。