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 optparse模块使用实例
Apr 09 Python
Python json 错误xx is not JSON serializable解决办法
Mar 15 Python
python2.7实现爬虫网页数据
May 25 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
详解Python3之数据指纹MD5校验与对比
Jun 11 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
python opencv肤色检测的实现示例
Dec 21 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
Python中itertools库的四个函数介绍
Apr 06 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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
Admin generator, filters and I18n
2011/10/06 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
python字典多条件排序方法实例
2014/06/30 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
Python常用类型转换实现代码实例
2020/07/28 Python
Python3.9新特性详解
2020/10/10 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
高中生操行评语大全
2014/04/25 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
小学英语教学随笔
2015/08/14 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
python神经网络Xception模型
2022/05/06 Python