[python] 在 python贰和三中有关类传承的 super方法简要表明

上边举一个事例,同样的代码应用 python贰 和
python3 写的,大家留意两段程序中红色加粗的一部分:

上边举二个事例,同样的代码应用 python2和
python三写的,大家小心两段程序中革命加粗的有的:

python2的类承袭使用super方法:

python②的类承继使用super方法:

 1 #-*-  coding:utf-8 -*-
 2 '''
 3 Created on 2018年8月27日
 4 
 5 @author: anyd
 6 '''
 7 import random as r
 8 
 9 class Fish(object):
10     def __init__(self):
11         self.x = r.randint(0, 10)
12         self.y = r.randint(0, 10)
13             
14     def move(self):
15         #这里主要演示类的继承机制,就不考虑检查场景边界和移动方向的问题
16         #假设所有鱼都是一路向西游
17         self.x -= 1
18         print "我的位置是:", self.x, self.y
19 
20 class Goldfish(Fish):
21     pass
22 
23 class Carp(Fish):
24     pass
25 
26 class Salmon(Fish):
27     pass
28 
29 #上边几个都是食物,食物不需要有个性,所以直接继承Fish类的全部属性和方法即可
30 #下边定义鲨鱼类,这个是吃货,除了继承Fish类的属性和方法,还要添加一个吃的方法
31 
32 class Shark(Fish):
33     def __init__(self):
34         super(Shark,self).__init__()       
35         self.hungry = True
36 
37     def eat(self):
38         if self.hungry:
39             print "吃货的梦想就是天天有的吃^_^"
40             self.hungry = False
41         else:
42             print "太撑了,吃不下了!"
43             
44 aa = Shark()
45 aa.move()
 1 #-*-  coding:utf-8 -*- 2 ''' 3 Created on 2018年8月27日 4  5 @author: anyd 6 ''' 7 import random as r 8  9 class Fish:10     def __init__:11         self.x = r.randint(0, 10)12         self.y = r.randint(0, 10)13             14     def move:15         #这里主要演示类的继承机制,就不考虑检查场景边界和移动方向的问题16         #假设所有鱼都是一路向西游17         self.x -= 118         print "我的位置是:", self.x, self.y19 20 class Goldfish:21     pass22 23 class Carp:24     pass25 26 class Salmon:27     pass28 29 #上边几个都是食物,食物不需要有个性,所以直接继承Fish类的全部属性和方法即可30 #下边定义鲨鱼类,这个是吃货,除了继承Fish类的属性和方法,还要添加一个吃的方法31 32 class Shark:33     def __init__:34         super(Shark,self).__init__()       35         self.hungry = True36 37     def eat:38         if self.hungry:39             print "吃货的梦想就是天天有的吃^_^"40             self.hungry = False41         else:42             print "太撑了,吃不下了!"43             44 aa = Shark()45 aa.move()

出口如下:

输出如下:

我的位置是: 8 2
我的位置是: 8 2

  

  

python三的类承接使用super方法:

python叁的类承袭使用super方法:

相关文章