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 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
python字符串连接的N种方式总结
Sep 17 Python
python开发之文件操作用法实例
Nov 13 Python
python编辑用户登入界面的实现代码
Jul 16 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
python assert的用处示例详解
Apr 01 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
python同时替换多个字符串方法示例
Sep 17 Python
Python 中list ,set,dict的大规模查找效率对比详解
Oct 11 Python
如何更换python默认编辑器的背景色
Aug 10 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
对象析构函数__del__在Python中何时使用
Mar 22 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
Windows下的PHP5.0详解
2006/11/18 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
javascript控制swfObject应用介绍
2012/11/29 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python函数装饰器实现方法详解
2018/12/22 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
计算机专业个人求职信范例
2013/09/23 职场文书
产品工艺师的岗位职责
2013/11/15 职场文书
技术合作协议书范本
2014/04/18 职场文书
婚礼秀策划方案
2014/05/19 职场文书
阅兵口号
2014/06/19 职场文书
法学自荐信
2014/06/20 职场文书
党建工作整改措施
2014/10/28 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
Python竟然能剪辑视频
2021/05/25 Python
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang