1. 程式人生 > >7.1 面向對象編程

7.1 面向對象編程

類的構造函數 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
18
gender = ‘‘ 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 面向對象編程