本文实例讲述了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多线程用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了python多线程用法。分享给大家供大家参考。具体如下: 今天在学习尝试学习python多线程的时候,突然发现自己一直对super的用法不是很清楚,所以先总结一些遇到的问题。当我尝试编写下面的代码的时候: 出现: super( B, self ).__init_
本文向大家介绍Python socket编程实例详解,包括了Python socket编程实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例形式较为详细的讲述了Python socket编程。分享给大家供大家参考。具体如下: 上面的代码创建了一个socket对象。type参数代表套接字类型,可为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据报套接字)。AF_INET表示创建
本文向大家介绍Android编程之SurfaceView实例详解,包括了Android编程之SurfaceView实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之SurfaceView用法。分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在UI线程中刷新,而SurfaceVie
本文向大家介绍Python多进程并发(multiprocessing)用法实例详解,包括了Python多进程并发(multiprocessing)用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python多进程并发(multiprocessing)用法。分享给大家供大家参考。具体分析如下: 由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU
本文向大家介绍PHP多进程编程实例详解,包括了PHP多进程编程实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP多进程编程。分享给大家供大家参考,具体如下: 第一步: $ php -m 命令查看php是否安装pcntl 和 posix扩展,若没有则安装 使用场景: 1. 要进行大量的网络耗时的操作 2. 要做大量的运算,并且,系统有多个cpu,为了让用户有更快的体验,把一个任
本文向大家介绍Python基础之函数用法实例详解,包括了Python基础之函数用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值。分享给大家供大家参考之用。具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def,def是可执行的语句--函数并不存在,直到Python运行了def后