Python编程之多态用法实例详解
作者:MXi4oyu 时间:2022-08-01 23:42:31
本文实例讲述了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,多态
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
mysql5.6.8源码安装过程
2024-01-22 02:53:41
Go gRPC服务双向流式RPC教程
2024-02-09 15:25:35
sql server 2000阻塞和死锁问题的查看与解决方法
2024-01-20 01:46:45
Windows下MySQL 5.7无法启动的解决方法
2024-01-26 02:32:31
![](https://img.aspxhome.com/file/2023/8/75648_0s.png)
C#实现Excel表数据导入Sql Server数据库中的方法
2024-01-19 01:19:01
详解Python流程控制语句
2021-05-15 08:25:45
Pytorch实现Fashion-mnist分类任务全过程
2023-07-14 05:12:47
![](https://img.aspxhome.com/file/2023/3/62323_0s.png)
在JavaScript中对HTML进行反转义详解
2024-05-02 16:21:19
vue中watch监听器用法之deep、immediate、flush
2024-04-27 16:13:35
Python如何在循环内使用list.remove()
2023-06-07 09:11:33
python3 删除所有自定义变量的操作
2023-09-26 03:26:08
JavaScript/jQuery实现切换页面效果
2024-04-22 22:23:17
![](https://img.aspxhome.com/file/2023/8/135828_0s.jpg)
深入理解Pytorch中的torch. matmul()
2023-06-03 05:29:18
![](https://img.aspxhome.com/file/2023/5/107175_0s.jpg)
php使用递归与迭代实现快速排序示例
2023-11-14 09:46:31
浅析python连接数据库的重要事项
2024-01-26 19:05:07
在Python程序中操作MySQL的基本方法
2024-01-20 18:30:46
![](https://img.aspxhome.com/file/2023/0/117960_0s.jpg)
从IIS到SQL Server数据库安全
2008-12-24 15:58:00
利用Python进行数据清洗的操作指南
2022-07-22 22:59:41
![](https://img.aspxhome.com/file/2023/5/83665_0s.jpg)
matplotlib之Font family [‘sans-serif‘] not found的问题解决
2021-03-31 09:55:42
![](https://img.aspxhome.com/file/2023/1/76831_0s.png)
IE下img多余5像素空白
2009-06-08 13:17:00