• 技术文章 >Python技术 >Python高级

    Python中的多态怎么理解?

    PythonPython2019-06-17 11:14:33原创3221
    Python是一门面向对象的编程语言,在Python中一切皆对象,面向对象有三大特性:封装、继承、多态。

    在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的Matplotlib库进行数据可视化

    相关文章推荐

    • Python脚本绘制验证码• 用Python举例实现逆波兰表达式• Python解析nginx日志示例

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网