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
相关文章
相关标签/搜索