python中的类、类的属性、类的实例化、类属性应用、实例方法
程序员文章站
2022-06-16 20:17:50
...
本文源自《编程小白的第1本python入门书》,(侯爵著)一书的部分内容。
类是有一些共同特征和行为事物的抽象概念的总和。
>>> class CocaCola:
... formula=['caffeine','sugar','water','soda']
...
如上例所示,我们使用class来定义一个类,如同使用def定义函数,转载着列表的变量formula(在类里面赋值的变量)就是类的变量,我们称之为类的属性(Class Atrribute).字符串、列表、字典、整数等变量都可以成为类的属性。
类的实例化:
我们的使用上面定义好的配方来生产可口可乐。当然,按照这个配方无论生产多少瓶可乐,它们的味道都是一样的。
>>> coke_for_me=CocaCola()
>>> coke_for_you=CocaCola()
>>> print(CocaCola.formula)
['caffeine', 'sugar', 'water', 'soda']
>>> print(coke_for_you.formula)
['caffeine', 'sugar', 'water', 'soda']
>>> print(coke_for_me.formula)
['caffeine', 'sugar', 'water', 'soda']
在左边我们创建一个变量,右边写上类的名称,这样看起来很像是赋值的行为,我们称之为类的实例化。被实例化后的对象,我们称之为实例(instance)即上面的coke_for_me、coke_for_you均为实例,或者说是类的实例。
类属性引用:
在类的名字后面输入 . ,IDE就会自动联想出我们之前定义类的时候写在里面的属性,这就是类属性的引用。
类的属性会被所有类的实例共享,所以当你在类的实例后面再点上 . ,索引用的属性值是完全一样的。
类的变量与正常的变量并无区别:
>>> for element in coke_for_you.formula:
... print(element)
...
caffeine
sugar
water
soda
实例属性:
>>> class CocaCola:
... formula=['caffeine','sugar','water','soda']
...
>>> coke_for_China=CocaCola()
>>> coke_for_China.local_logo="可口可乐" #创建实例属性,并进行赋值
>>> print(coke_for_China.local_logo) #打印实例属性引用结果
可口可乐
local_logo是实例coke_for_China的变量,实例的变量我们称之为实例属性。
实例方法:
类的实例可以引用属性,此外类的实例也可以使用方法。方法就是函数,方法是供实例使用的,故我们亦可以称其为实例方法实例方法。
>>> class CocaCola:
... formula=['caffeine','sugar','water','soda']
... def drink(self):
... print('Energy!')
...
>>> coke=CocaCola()
>>> coke.drink()
Energy!
注意:参数self即为实例coke本身。
一旦一个类被实例化,其实我们可以使用和与我们使用函数相似的方式:
coke=CocaCola
coke.drink()==CocaCola.drink(coke) #左右两边的写法完全一致
注意:被实例化的对象会被编译器默默地传入后面方法的括号中,作为第一个参数。
class CocaCola:
formula = ['caffeine', 'sugar', 'water', 'soda']
def drink(self, how_much):
if how_much == 'a sip':
print("cool!")
elif how_much == 'whole bottle':
print("Headache")
ice_coke=CocaCola()
ice_coke.drink("a sip") #drink()函数的第一个参数为ice_coke,第二个参数被赋值为"a sip"
#程序运行结果:
cool!
如有错误,敬请批评指正!谢谢!