标签:
第17,18个:面向对象三大特性之多态
1 def func(arg): 2 print(arg) 3 4 #python支持多种形态(类型) 5 #优点:不需要先声明是什么字符,数字类型 6 #缺点:看查源码的时候不知道是什么类型 7 func(1) 8 func("hk") 9 func([11,22,33,44])
第19,20,21个:类成员之静态字段和普通字段
1 class foo: 2 #字段(静态字段)属于类 3 cc = 123 4 def __init__(self): 5 #字段(普通字段)属于对象 6 self.name = ‘la‘ 7 8 def show(self): 9 print(self.name) 10 11 obj = foo()
字段位置及访问规则范例:
1 class province: 2 country = "中国" #静态字段存在类里,在代码加载时已创建 3 def __init__(self,name): 4 self.name = name #普通字段存在于对象里,对象创建后调用时存在于内存中 5 #如果country字段存在对象中被反复调用会占用大量的内存资源 6 #省的属性是中国 7 hn = province(‘河南‘) 8 hb = province(‘河北‘) 9 sd = province(‘山东‘) 10 print(hn.name) #打印河南的名字 11 12 13 # 一般情况:自己访问自己的字段,即类访问静态字段、对象访问普通字段 14 #字段访问规则: 15 # 普通字段只能用对象访问 16 # 静态字段用类访问(万不得已才可使用对象访问) 17 print(hn.name) 18 print(province.country) 19 #print(hn.country)
第22,23个:类成员之普通方法和静态方法以及类
方法:
所有的方法属于类
1、普通方法:至少一个self,对象执行
2、静态方法:任意参数, 类执行(万不得已才可使用对象访问)
3、类方法:至少有一个cls,类执行(万不得已才可使用对象访问)
1 class province: 2 country = "中国" 3 def __init__(self,name): 4 self.name = name 5 6 #普通方法,由对象去调用执行(方法属于类) 7 def show(self): 8 print(self.name) 9 return True 10 11 #静态方法属于类,由类来调用执行。可以没有参数也可以有多个参数 12 @staticmethod 13 def f1(arg1,arg2): 14 print(arg1,arg2) 15 16 #类方法由类来调用,是静态方法的一种特殊形式,至少有一个参数cls 17 @classmethod 18 def f2(cls): 19 print(cls) 20 21 hn = province(‘河南‘) #创建对象 22 print(hn.show()) #对象调用普通方法 23 24 province.f1(12,34) #类调用静态方法 25 province.f2() #类调用类方法,打印出类的名称
第24,25,26个:类成员之属性
标签:
原文地址:http://www.cnblogs.com/hanxiaobei/p/5751414.html