类
1 # class Chinese(object):
2 class Chinese:
3 '''
4 类的说明性文档
5 '''
6 pass
7
8 print(Chinese) # <class '__main__.Chinese'>
9
10 # 类的实例化:类名+小括号,到底做了什么?
11 p1 = Chinese()
12 print(p1) # <__main__.Chinese object at 0x0568C2B0>
类的属性操作
1 class Chinese:
2 country = 'China'
3 def __init__(self,name):
4 self.name = name
5 def play(self):
6 print("玩耍")
7 def sing(self):
8 print("唱歌")
9
10 print(Chinese) # <class '__main__.Chinese'>
11 # 打印类的数据字典
12 print(Chinese.__dict__)
13
14 #################——数据属性——######################
15 # 查看
16 print(Chinese.country) # China
17 # 修改
18 Chinese.country = '中国'
19 print(Chinese.country) # 中国
20 # 增加
21 Chinese.dang = '党'
22 print(Chinese.dang)
23 # 删除
24 # print(Chinese.__dict__)
25 del Chinese.dang
26 # 打印类的数据字典
27 # print(Chinese.__dict__)
28
29 #################——函数属性——######################
30 def eat(self):
31 print("吃吃吃")
32 def eat123(self):
33 print("吃吃吃123")
34 # 增加
35 Chinese.eat = eat
36 # 查看
37 print(Chinese.eat) # <function eat at 0x04D0C8E8>
38 # 打印类的数据字典
39 # print(Chinese.__dict__)
40 # 修改
41 Chinese.eat = eat123
42 print(Chinese.eat) # <function eat123 at 0x04DEC810>
43 # 删除
44 del Chinese.eat
45 # print(Chinese.__dict__)
实例的属性操作
1 class Chinese:
2 country = 'China'
3 def __init__(self,name):
4 self.name = name
5 def play(self):
6 print("玩耍")
7 def sing(self):
8 print("唱歌")
9
10 p1 = Chinese('yuan')
11 print(p1) # <__main__.Chinese object at 0x05079CD0>
12 # 打印实例的数据字典【即init中的】
13 print(p1.__dict__) # {'name': 'yuan'}
14
15 #################——数据属性——######################
16 # 查看
17 print(p1.name) # yuan
18 # 增加
19 p1.age = 18
20 print(p1.age) # 18
21 # 打印实例的数据字典
22 print(p1.__dict__) # {'name': 'yuan', 'age': 18}
23
24 #不要修改底层的属性字典
25 # p1.__dict__['sex']='male'
26 # print(p1.__dict__)
27 # print(p1.sex)
28
29 # 修改
30 p1.age = 23
31 print(p1.age) # 23
32 print(p1.__dict__) # {'name': 'yuan', 'age': 23}
33 # 删除
34 del p1.age
35 print(p1.__dict__) # {'name': 'yuan'}
36
37 #################——函数属性——######################
38 # 实例没有函数属性
39 # 类的属性修改会直接体现到实例
40
41 def eat(self):
42 print("吃吃吃")
43 # 增加
44 p1.eat = eat
45 # 查看【忘记吧】
46 # p1.eat("###") # 容易出错
47 # p1.eat(p1)
类与实例
1 country = "中国****"
2 class Chinese:
3 country = 'China'
4 def __init__(self,name):
5 self.name = name
6 print("--->", country) # ---> 中国****
7 def play(self):
8 print("玩耍")
9 def sing(self):
10 print("唱歌")
11
12 p1 = Chinese('yuan')
13 # 打印实例的数据字典
14 print(p1.__dict__) # {'name': 'yuan'}
15 # 【当实例的数据字典没有时】访问类的数据字典
16 print(p1.country)
17
18 p1.country = "中国"
19 # 打印实例的数据字典
20 print(p1.__dict__) # {'name': 'yuan', 'country': '中国'}
21 # 访问实例的数据字典
22 print(p1.country) # 中国
23
24 # 访问类的数据字典
25 print(Chinese.country) # China
26 # 初始化时【country与p1.country、Chinese.country的区别】
27 p2 = Chinese('Lucy') # 初始化时