1 实例一:创建大雁类并定义飞行方法
2 class Geese: #创建大雁类
3 '''大雁类'''
4 def __init__(self,beak,wing,claw): #构造方法
5 print("我是大雁类!我有一下特征:")
6 print(beak) #输出喙的特征
7 print(wing) #输出翅膀的特征
8 print(claw) #输出爪子的特征
9 def fly(self,state): #定义飞行的方法
10 print(state)
11 '''**************************调用方法***********************'''
12 beak_1 = "喙的基部较高,长度和头部的长度几乎相等" #喙的特征
13 wing_1 = "翅膀长而尖" #翅膀的特征
14 claw_1 = "爪子是蹼状的" #爪子的特征
15 wildGoose = Geese(beak_1,wing_1,claw_1) #创建大雁类的实例
16 wildGoose.fly("我飞行的时候,一会儿排成个人字,一会排成个一字") #调用实例方法
17 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
18 我是大雁类!我有一下特征:
19 喙的基部较高,长度和头部的长度几乎相等
20 翅膀长而尖
21 爪子是蹼状的
22 我飞行的时候,一会儿排成个人字,一会排成个一字
1 实例二:通过类属性统计类的实例个数
2 class Geese:
3 '''雁类'''
4 neck = "脖子较长" #非属性(脖子)
5 wing = "振翅频率高" #类属性(翅膀)
6 leg = "腿位于身体的中心支点,行走自如" #类属性(腿)
7 number = 0 #编号
8 def __init__(self): #构造方法
9 Geese.number += 1 #将编号加1
10 print("\n我是第"+str(Geese.number)+"只大雁,我属于雁类!我有一下特征:")
11 print(Geese.neck) #输出脖子的特征
12 print(Geese.wing) #输出翅膀的特征
13 print(Geese.leg) #输出腿的特征
14 #创建4个雁类的对象(相当于有4只大雁)
15 list = []
16 for i in range(4): #循环4次
17 list.append(Geese()) #创建一个雁类的实例
18 print("一共有"+str(Geese.number)+"只大雁")
19
20 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
21 我是第1只大雁,我属于雁类!我有一下特征:
22 脖子较长
23 振翅频率高
24 腿位于身体的中心支点,行走自如
25
26 我是第2只大雁,我属于雁类!我有一下特征:
27 脖子较长
28 振翅频率高
29 腿位于身体的中心支点,行走自如
30
31 我是第3只大雁,我属于雁类!我有一下特征:
32 脖子较长
33 振翅频率高
34 腿位于身体的中心支点,行走自如
35
36 我是第4只大雁,我属于雁类!我有一下特征:
37 脖子较长
38 振翅频率高
39 腿位于身体的中心支点,行走自如
40 一共有4只大雁
1 实例三:在模拟电影点播功能时应用属性
2 class TVshow: #定义电视节目类
3 list_film = ["战狼2","红海行动","西游记女儿国","熊出没•变形记"]
4 def __init__(self,show):
5 self.__show = show
6 @property #将方法转换为属性
7 def show(self): #定义show()方法
8 return self.__show #返回私有属性的值
9 @show.setter #设置setter方法,让属性可修改
10 def show(self,value):
11 if value in TVshow.list_film: #判断值是否在列表中
12 self.__show = "您选择了《" + value + "》,稍后将播放" #返回修改的值
13 else:
14 self.__show = "您点播的电影不存在"
15 tvshow = TVshow("战狼2") #创建类的实例
16 print("正在播放:《",tvshow.show,"》") #获取属性值
17 print("您可以从",tvshow.list_film,"中选择要点播放的电影")
18 tvshow.show = "红海行动" #修改属性值
19 print(tvshow.show) #获取属性值
20 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
21 正在播放:《 战狼2 》
22 您可以从 ['战狼2', '红海行动', '西游记女儿国', '熊出没•变形记'] 中选择要点播放的电影
23 您选择了《红海行动》,稍后将播放
1 实例四:创建水果基类及其派生类
2 class Fruit: #定义水果类
3 color = "绿色" #定义类属性
4 def harvest(self,color):
5 print("水果是:" + color + "的!") #输出的是形式参数color
6 print("水果已经收获……")
7 print("水果原来是:" + Fruit.color + "的!") #输出的是类属性color
8 class Apple(Fruit): #定义苹果类(派生类)
9 color = "红色"
10 def __init__(self):
11 print("我是苹果")
12 class Orange(Fruit): #定义橘子类(派生类)
13 color = "橙色"
14 def __init__(self):
15 print("\n我是橘子")
16 apple = Apple() #创建类的实例(苹果)
17 apple.harvest(apple.color) #调用基类的harvest()的方法
18 orange = Orange() #创建类的实例(橘子)
19 orange.harvest(orange.color) #调用基类的havest()方法
20 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
21 我是苹果
22 水果是:红色的!
23 水果已经收获……
24 水果原来是:绿色的!
25
26 我是橘子
27 水果是:橙色的!
28 水果已经收获……
29 水果原来是:绿色的!
1 实例五:在派生类中调用基类的__init__()方法定义类属性
2 class Fruit: #定义水果类(基类)
3 def __init__(self,color="绿色"):
4 Fruit.color = color #定义类属性
5 def harvest(self,color):
6 print("水果是:" + self.color + "的!") #输出的是形式参数color
7 print("水果已经收获……")
8 print("水果原来是:" + Fruit.color + "的!") #输出的是类属性color
9 class Apple(Fruit): #定义苹果类(派生类)
10 color = "红色"
11 def __init__(self):
12 print("我是苹果")
13 super().__init__() #调用基类的__init__()方法
14 class Sapodilla(Fruit): #定义人参果类(派生类)
15 def __init__(self,color):
16 print("\n我是人参果")
17 super().__init__(color) #调用基类的__init__()方法
18 #重写harvest()方法的代码
19 def harvest(self,color):
20 print("人参果是:" + color + "的!") #输出的是形式参数color
21 print("人参果已经收获……")
22 print("人参果原来是:" + Fruit.color + "的!") #输出的是类属性color
23 apple = Apple() #创建类的实例(苹果)
24 apple.harvest(apple.color) #调用harvest()方法
25 sapodilla = Sapodilla("白色") #创建类的实例(人参果)
26 sapodilla.harvest("金黄色带紫色条纹") #调用harvest()方法
27 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
28 我是苹果
29 水果是:红色的!
30 水果已经收获……
31 水果原来是:绿色的!
32
33 我是人参果
34 人参果是:金黄色带紫色条纹的!
35 人参果已经收获……
36 人参果原来是:白色的!