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中获得当前目录和上级目录的实现方法
Oct 12 Python
python分治法求二维数组局部峰值方法
Apr 03 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
Python接口测试数据库封装实现原理
May 09 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
python 将html转换为pdf的几种方法
Dec 29 Python
Python中zipfile压缩包模块的使用
May 14 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 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实时显示输出
2008/10/02 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
小程序转发探索示例
2019/02/19 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
进一步探究Python中的正则表达式
2015/04/28 Python
python实现黑客字幕雨效果
2018/06/21 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
Python模块future用法原理详解
2020/01/20 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
女性时尚在线:IVRose
2019/02/23 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
元旦联欢会感言
2014/03/04 职场文书
2014年团工作总结
2014/11/27 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python