返回顶部
首页 > 资讯 > 后端开发 > Python >Python——多态
  • 730
分享到

Python——多态

多态Python 2023-01-31 06:01:46 730人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

        python作为一门面对对象的语言,那么肯定也是有多态这个属性的,这里主要跟c++的多态做一下类比        先看下面的代码                               这里可以看到,Child,Chil

        python作为一门面对对象的语言,那么肯定也是有多态这个属性的,这里主要跟c++的多态做一下类比

        先看下面的代码

                       图片.png        

这里可以看到,Child,Child2都是Parent的子类,他们分别重写了父类的print_func函数,因此可以看到下面的结果

图片.png

图片.png

        这是单独打印每个对象来得到的结果,下面开始看Python的多态

图片.png

图片.png

图片.png

        这里可以看到,print_who这个函数只是将obj对象的print_func函数调用打印了一下。这里和C++的多态都是区别不大的。

        但是Python的多态比C++的更要牛逼一些,比如下面这个类

图片.png

        这时候noChild这个类跟Parent没有半点关系,那么我们调用print_who还能打印出来东西吗?

图片.png

        没错,你真的没有看出,这个非子类的对象,只是因为有一个print_func函数,就能通过print_who来进行打印,是不是很神奇??

        这就是Python与C++在多态上最大的区别,Python只要你有一模一样的函数存在,那么他就可以按照多态的处理方式来给你处理。在有些书中,这个方法被称为“鸭子模型”。



欢迎添加QQ群一起学习

图片.png

--结束END--

本文标题: Python——多态

本文链接: https://lsjlt.com/news/190525.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python——多态
            Python作为一门面对对象的语言,那么肯定也是有多态这个属性的,这里主要跟C++的多态做一下类比        先看下面的代码                               这里可以看到,Child,Chil...
    99+
    2023-01-31
    多态 Python
  • Python的多态
    实例一:#!/usr/bin/env python #coding:utf-8 """ 什么是多态? 1、一种类型具有多种类型的能力 2、允许不同的对象对同一消息做出灵活的反映 pytyon 中的多态 1、通过继承实现多态(子类可作为父类使...
    99+
    2023-01-31
    多态 Python
  • (十)python之多态
    一、面向对象三大特征 面向对象编程的三大特征:封装,集成,多态 封装:客官的事物封装成类(将数据和方法放在一个类中就构成了封装)继承:在python中一个类可以集成于另一个类也可以继承多个类,被继承的类叫父类(或者叫基类,base clas...
    99+
    2023-09-02
    开发语言 python
  • Python 面向对象 组合-多态与多态
    面向对象-组合 1.什么是组合   组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 1 class Foo: 2 xxx = 111 3 4 class Bar: 5 yyy = 222 6...
    99+
    2023-01-30
    多态 组合 面向对象
  • python 多态的理解
    1 class Human(object): # 父类 :创建“人”类 2 3 def __init__(self): 4 5 print('Ill pound the code and...
    99+
    2023-01-30
    多态 python
  • python基础之多态
    目录多态案例演示总结多态 多态:顾名思义九四多种形态\状态,就是同一种行为对不同的子类[对象]有不同的行为表现 要想实现多态 必须有两个前提需要遵守: 1.必须存在一种继承关系,必...
    99+
    2024-04-02
  • 浅谈python中的多态
    目录一、多态二、多态性三、鸭子类型一、多态 多态是指一类事物有多种形态,比如动物类,可以有猫,狗,猪等等。(一个抽象类有多个子类,因而多态的概念依赖于继承) import abc class Animal(met...
    99+
    2022-06-02
    python 多态
  • 多态与多态性
    1. 什么是多态     多态指的是同一种/类事物的不同形态 2.为何要用多态性   1 增加了程序的灵活性   2 增加了程序的可扩张性 多态性:分为静态多态性和动态多态性     多态性:在多态的背景下,可以在不用考虑对象具体类型的前...
    99+
    2023-01-30
    多态性 多态
  • Python:多态(一个接口多种实现)
    class Animal(object):----def init(self,name):--------self.name=name def talk(self): pass @staticmethod def animal_ta...
    99+
    2023-01-31
    接口 多种 多态
  • python 面向对象之多态
    多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。那么,多态的...
    99+
    2023-01-30
    面向对象 多态 python
  • Python中的多态与虚函数
       C++中的虚函数与多态,是很多C++面向对象程序设计的一个基础,在Python中,是否也存在多态和虚函数,答案是有的。看下面的这个例子 from abc import ABCMeta, abstractmethod class...
    99+
    2023-01-31
    函数 多态 Python
  • python如何实现函数多态性
    在python实现函数的多态性,具体方法如下:def remove_user(self,user_or_username):try:#If user_or_username is a User objectusername = user_o...
    99+
    2024-04-02
  • python学习之【继承、封装、多态】
    #来评选你心中的TOP1编程语言# 前言 距离上篇文章 python学习之【类和对象】已有三个星期之久,这篇文章介绍 面向对象的三大特征——封装,继承,多态。 对于编程初学者来说,学习python应...
    99+
    2023-08-31
    python 学习 开发语言
  • Python编程-封装,继承与多态
    目录一、类的封装1、案例演示2、案例分析3、解决方案1、封装的定义2、封装的实现3、案例演示一、类的封装 为什么需要封装: Python是面向对象的编程语言,因为面向对象中所有的实体...
    99+
    2024-04-02
  • 【JAVA】多态
    作者主页:paper jie_的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将ja...
    99+
    2023-09-06
    java 开发语言
  • Java-多态
    目录 1.多态的概念 2.多态的实现条件。 3.重写 4.向上转型和向下转型 5.多态的优缺点 6.避免在构造方法中调用重写方法 1.多态的概念         多态字面意思就是多种形态,具体点就是完成某个行为时,不同的对象完成时产生...
    99+
    2023-08-31
    java 开发语言
  • 【C++】多态
    🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘。 🛸C++专栏:C++内功...
    99+
    2023-08-17
    c++ 开发语言
  • Python教程之Python多态的深层次理解
    前言: 多态的实现必须满足两个前提条件 1.继承:多态一定是发生在子类和父类之间 2.重写:多态子类重写了父类的方法 记住这两点再结合代码示例有助于理...
    99+
    2024-04-02
  • python多线程实现动态图绘制
    目录一、背景二、步骤1、使用matplotlib绘制动态图2、创建一个线程用于更新数据三、代码框架一、背景 有些情况下,我们面对实时更新的数据,希望能够在一个窗口中可视化出来,并且能...
    99+
    2024-04-02
  • Python中的继承和多态是什么
    这篇文章主要讲解了“Python中的继承和多态是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的继承和多态是什么”吧!一、继承的介绍继承是一种创建新的类的方式,新创建的叫子...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作