7.1 面向對象編程
阿新 • • 發佈:2018-02-04
類的構造函數 for span 修改 情況下 添加 其他 可見 ini
1 對象與類
1 #第一部分:對象與類 2 #類是對象的抽象,是對象的模板 3 4 #定義一個Person類 5 class Person: 6 pass 7 8 #創建Person類的一個實例 9 p1 = Person() 10 11 #Person中沒有定義類的特征和行為,可以在實例上定義實例的特征和行為 12 #但更傾向於把類的特征和行為定義在類中,默認情況下類中的特診都是公開的 13 14 #完善Person類,重新定義一個MyPerson類 15 class MyPerson(): 16 name = ‘‘ 17 age = 0 18gender = ‘‘ 19 20 #然後定義兩個該類的實例 21 mp1 = MyPerson() 22 mp2 = MyPerson() 23 24 #修改實例mp1的年齡 25 mp1.age = 20 26 print(mp1.age) #20 27 print(mp2.age) #0 28 29 #可見修改一個對象的實例屬性值,被不會影響該類的其他對象的實例相同屬性的值
2 類的構造函數和類成員初始化
1 #第二部分:類的構造函數和類成員初始化 2 #在Python中,class_name() 就是構造函數,及類名後邊加括號,作用是為類成員賦初始值 3 #可以用這種方法將類的成員和類實例的成員區分開4 #定義一個Person類 5 class Person(): 6 def __init__(self,age=0,gender=‘‘,name=‘‘): #使用到了默認參數 7 self.name = name 8 self.age = age 9 self.gender = gender 10 11 #__init__()函數在創建Person類的實例調用 12 #self表示具體的對象 13 14 #創建一個實例 15 p = Person(name = ‘Mark‘,age = 20,gender = ‘男‘) 16 #創建實例的過程就是先調用__init__()函數,給類屬性賦初始值 17 print(p.age) #20 18 19 #還可以再類屬性的基礎上,添加實例屬性 20 p.weight = 60 #體重 21 print(‘p對象的實例屬性:{}‘.format(p.weight)) 22 23 #p.weight跟Person類的其他實例無關,是p實例自己的。
3 實例方法
1 #第三部分:實例方法 2 class Person: 3 def __init__(self,name=‘‘,age=0,gender=‘‘): 4 self.name = name 5 self.age = age 6 self.gender = gender 7 8 def say(self): 9 print(‘{} 說:hello‘.format(self.name)) 10 11 #say()函數是類的函數,該類的所有實例都會有這個方法 12 13 #創建兩個該類的實例 14 p1 = Person(‘zhangsan‘,20,‘男‘) 15 p2 = Person(‘lisi‘,20,‘女‘) 16 17 p1.say() #zhangsan 說:hello 18 p2.say() #lisi 說:hello 19 20 #self代表的是在內存中產生的實例 21 #對於實例p1來說,self代表的就是p1 22 #所以定義在類中的帶self的方法都是實例方法
7.1 面向對象編程