Python中的多态怎么理解?
Python是一门面向对象的编程语言,在Python中一切皆对象,面向对象有三大特性:封装、继承、多态。
Python是一门面向对象的编程语言,在Python中一切皆对象,面向对象有三大特性:封装、继承、多态。
在Python中什么是多态呢?顾名思义,多态就是多种表现形态的意思。它是一种机制、一种能力,而非某个关键字。它在类的继承中得以实现,在类的方法调用中得以体现。多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式。
我们先看一个简单的例子,运算符多态:
a=34b=57print(a+b)a="世界"b="你好"print(a+b)我们不知道+法运算符左右两个变量是什么类型,当我们给的是int类型时,它就进行加法运算。当我们给的是字符串类型时,它就返回的是两个字符串拼接的结果。也就是根据变量类型的不同,表现不能的形态。
我们再来看一个例子,方法多态:
我们首先创建一个名为MyClass.py的文件,代码如下
__author__=MXi4oyuclassPeople:defsay(self):print("大家好!")classStudent:defsay(self):print("老师好!")我们再创建一个Main.py的文件,代码如下:
__author__=MXi4oyufromrandomimportchoiceimportMyClassp1=MyClass.People()stu1=MyClass.Student()#通过choice方法我们可以随机选择列表中的某一项obj=choice([p1,stu1])print(type(obj))obj.say()