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简单连接MongoDB数据库的方法
Mar 15 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
python实现画圆功能
Jan 25 Python
python flask中静态文件的管理方法
Mar 20 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
python动态进度条的实现代码
Jul 03 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
Python如何使用logging为Flask增加logid
Mar 30 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
python re模块的高级用法详解
2018/06/06 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Linux下python3.7.0安装教程
2018/07/30 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
Python更换pip源方法过程解析
2020/05/19 Python
Python实现扫码工具的示例代码
2020/10/09 Python
python unichr函数知识点总结
2020/12/16 Python
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
自荐信格式
2013/12/01 职场文书
初一地理教学反思
2014/01/16 职场文书
市场营销方案范文
2014/03/11 职场文书
小学生评语大全
2014/04/18 职场文书
十佳家长事迹材料
2014/08/26 职场文书
创先争优个人总结
2015/03/04 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
redis实现共同好友的思路详解
2021/05/26 Redis
vue特效之翻牌动画
2022/04/20 Vue.js
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis