python 面向對象

類和對象

類的兩種用法

 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 
 5 class Chinese:
 6     country = 'china'
 7 
 8     def __init__(self,name,age):
 9         self.name = name
10         self.age = age
11 
12     def talk(self):
13         print('say chinese',self.name)
14 
15 
16 #類的第一種用法:實例化
17 p1 = Chinese('egon',18)
18 p1.talk()
19 print(p1.name)
20 print(p1.age)
21 
22 #類的第二種用法:屬性引用(增刪改查)
23 print(Chinese.country)    #類的數據屬性
24 print(Chinese.__init__)   #類的函數屬性
25 Chinese.__init__(1,2,3)   #錯誤
26 
27 print(Chinese.__dict__) #查看類的屬性字典,或者說名稱空間
28 print(Chinese.country)
29 print(Chinese.__dict__['country'])
30 
31 #類型與類是統一的
32 p1 = Chinese('egon',18)
33 p2 = Chinese('alex',1000)
34 print(id(p1.country))
35 print(id(p2.country))
36 print(id(Chinese.country))
37 
38 print(Chinese.talk)
39 print(p1.talk)
40 print(p2.talk)
41 
42 print(p1)
43 p1.talk()
44 print(p2)
45 p2.talk()
46 Chinese.talk(p1)
47 
48 #定義在類內部的變量,是全部對象共有的,id全同樣
49 #定義在類內部的函數,是綁定到全部對象的,是給對象來用,obj.func() 會把obj自己當作第一個參數出入
50 
51 #綁定方法:綁定到誰身上,就是給誰用的,誰來調用就會自動把本身當作第一個參數傳入
View Code
相關文章
相關標籤/搜索