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实现冒泡,插入,选择排序简单实例
Aug 18 Python
python进阶教程之异常处理
Aug 30 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python书单 不将就
Jul 11 Python
通过Python实现自动填写调查问卷
Sep 06 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
如何写python的配置文件
Jun 07 Python
Python定义一个函数的方法
Jun 15 Python
python 写一个水果忍者游戏
Jan 13 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
JAVA/JSP学习系列之四
2006/10/09 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jQuery 入门讲解1
2009/04/15 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
通过python3实现投票功能代码实例
2019/09/26 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
车间主管岗位职责
2013/11/14 职场文书
创意活动策划书
2014/01/15 职场文书
旷课检讨书大全
2014/01/21 职场文书
校运会口号
2014/06/18 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android