Python super执行基类的构造方法
2016-12-04 00:00
239 查看
有一个需求是这样的,先有一个Machine的类,有通用的name、position、date属性,然后又出现了一个Server的类继承Machine类,但是Server类多出一个ipaddr的属性,所以这时就要在Server中重写__init__构造方法,新增一个ipaddr参数,如果想使用父类中已经定义好的方法,就需要使用super执行基类的构造方法把name、position、date三个参数传递给父类。
1 class Machine(object): 2 3 def __init__(self, name, position, date): 4 self.name = name 5 self.position = position 6 self.date = date 7 8 def getinfo(self): 9 return self.name, self.position 10 11 def getdate(self): 12 return self.date 13 14 15 class Server(Machine): 16 17 def __init__(self, name, position, date, ipaddr): 18 self.ipaddr = ipaddr 19 super(Server, self).__init__(name, position, date) 20 21 def getaddr(self): 22 return self.ipaddr 23 24 s = Server('cnsz003621', 'position1', '2017/02/23', '10.10.2.77') 25 r = s.getinfo() 26 r2 = s.getaddr() 27 print(r, r2)
相关文章推荐
- Python内置函数(66)——vars
- Windows 10 搭建Python开发环境(PyCharm )
- Python内置函数(65)——type
- python清屏
- 使用python绘制词云
- Python多进程并发(multiprocessing)用法实例详解
- 通过批处理来运行python程序
- 使用pyenv搭建多python版本共存,便于开发
- python 中list去重函数
- 调整坐标中日期刻度的显示
- python 部分少见正则表达式 用法
- Python程序的首行
- Python的hashlib模块
- 机器学习-决策树,部分代码已修改简化,部分已修改为python3.5
- python目录下的所有文件
- 2.keras实现MNIST手写数字分类问题初次尝试(Python)
- Python标准库(三)
- python笔记1-用python解决小学生数学题
- 调整坐标轴的刻度(locator_params)
- 利用python合并两个文件