Python编程之多态用法实例详解


Posted in Python onMay 19, 2015

本文实例讲述了Python编程之多态用法。分享给大家供大家参考。具体分析如下:

什么是多态?顾名思义,多态就是多种表现形态的意思。它是一种机制、一种能力,而非某个关键字。它在类的继承中得以实现,在类的方法调用中得以体现。多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式。

我们先看一个简单的例子,运算符多态:

a=34
b=57
print(a+b)
a="世界"
b="你好"
print(a+b)

我们不知道+法运算符左右两个变量是什么类型,当我们给的是int类型时,它就进行加法运算。当我们给的是字符串类型时,它就返回的是两个字符串拼接的结果。也就是根据变量类型的不同,表现不能的形态。

我们再来看一个例子,方法多态:

我们首先创建一个名为MyClass.py的文件,代码如下

__author__= 'MXi4oyu'
classPeople:
  def say(self):
    print("大家好!")
classStudent:
  def say(self):
    print("老师好!")

我们再创建一个Main.py的文件,代码如下:

__author__= 'MXi4oyu'
fromrandom import choice
importMyClass
p1=MyClass.People()
stu1=MyClass.Student()
#通过choice方法我们可以随机选择列表中的某一项
obj=choice([p1,stu1]) 
print(type(obj))
obj.say()

我们创建的临时对象obj是由随机函数取出来的,我们不知道它的具体类型,但是我们可以对它进行相同的操作。即让它调用say方法,然后根据其类型的不同,它所表现的行为不同。这就是多态。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python的Flask框架中实现分页功能的教程
Apr 20 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
使用python为mysql实现restful接口
Jan 05 Python
教你使用python画一朵花送女朋友
Mar 29 Python
python基于SMTP协议发送邮件
May 31 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
Mar 05 Python
详解NumPy中的线性关系与数据修剪压缩
May 25 Python
Python编程之属性和方法实例详解
May 19 #Python
python实现提取百度搜索结果的方法
May 19 #Python
在Python中操作字符串之rstrip()方法的使用
May 19 #Python
Python映射拆分操作符用法实例
May 19 #Python
Python中的rjust()方法使用详解
May 19 #Python
python抓取百度首页的方法
May 19 #Python
Python递归遍历列表及输出的实现方法
May 19 #Python
You might like
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
python实现用户登录系统
2016/05/21 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
python实现神经网络感知器算法
2017/12/20 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
python 修改本地网络配置的方法
2019/08/14 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
python 线程的五个状态
2020/09/22 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
销售工作岗位职责
2013/12/24 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
文明礼仪标语
2014/06/13 职场文书
2015年公司新年寄语
2014/12/08 职场文书