返回顶部
首页 > 资讯 > 后端开发 > Python >Python重写父类的方法有哪些
  • 801
分享到

Python重写父类的方法有哪些

2023-07-05 17:07:50 801人浏览 泡泡鱼

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

摘要

这篇文章主要介绍了python重写父类的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python重写父类的方法有哪些文章都会有所收获,下面我们一起来看看吧。1.基础应用class Anim

这篇文章主要介绍了python重写父类的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python重写父类的方法有哪些文章都会有所收获,下面我们一起来看看吧。

1.基础应用

class Animal(object):    def eat(self):        print("动物吃东西")class Cat(Animal):    def eat(self):        print("猫吃鱼")        # 格式一:父类名.方法名(对象)        Animal.eat(self)        # 格式二:super(本类名,对象).方法名()        super(Cat, self).eat()        # 格式三:super()方法名()        super().eat()cat1 = Cat()cat1.eat()print(cat1)

2.实际应用

#用元类实现单例模式class SingletonType(type):    instance = {}    def __call__(cls, *args, **kwargs):        if cls not in cls.instance:            # 方式一:            # cls.instance[cls] = type.__call__(cls, *args, **kwargs)            # 方式二            # cls.instance[cls] = super(SingletonType, cls).__call__(*args, **kwargs)            # 方式三            cls.instance[cls] = super().__call__(*args, **kwargs)        return cls.instance[cls]class Singleton(metaclass=SingletonType):    def __init__(self, name):        self.name = names1 = Singleton('1')s2 = Singleton('2')print(id(s1) == id(s2))

3.注意

当一个类存在多继承时,它继承的多个父类有相同的父类A,在重写其父类时需要注意

方法一:父类名.方法名(对象)

  • 父类A会被调用多次(根据继承的个数)

  • 重写父类时根据需要传递所需要的参数

方法二:super(本类名,对象).方法名()

  • 父类A也只会被调用一次

  • 重写父类方法必须传递所有参数

当一个类存在继承,且已经在子类中重写相应的变量,改变父类的变量不会对子类有影响

class Parent(object):    x = 1class Child1(Parent):    passclass Child2(Parent):    passprint(Parent.x, Child1.x, Child2.x)Child1.x = 2print(Parent.x, Child1.x, Child2.x)Parent.x = 3print(Parent.x, Child1.x, Child2.x)

输出结果

1 1 1
1 2 1
3 2 3

关于“Python重写父类的方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python重写父类的方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python重写父类的方法有哪些

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

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

猜你喜欢
  • Python重写父类的方法有哪些
    这篇文章主要介绍了Python重写父类的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python重写父类的方法有哪些文章都会有所收获,下面我们一起来看看吧。1.基础应用class Anim...
    99+
    2023-07-05
  • java调用父类的方法有哪些
    在Java中,调用父类的方法有以下几种方式:1. 使用super关键字:使用super关键字可以调用父类的方法。可以通过super....
    99+
    2023-08-09
    java
  • php子类调用父类的方法有哪些
    在PHP中,子类可以通过以下几种方式调用父类的方法:1. 使用 `parent::methodName()`:使用`parent::...
    99+
    2023-08-11
    php
  • 怎么在python中重写父类
    这期内容当中小编将会给大家带来有关怎么在python中重写父类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,...
    99+
    2023-06-14
  • SQLException类有哪些重要的方法?
    SQLException 可能发生在驱动程序和数据库中。当发生此类异常时,SQLException 类型的对象将被传递给 catch 子句。传递的 SQLException 对象具有以下可用于检索有关异常的附加信息的方法: 方法描述getE...
    99+
    2023-10-22
  • java中重写父类方法加不加@Override详解
    java重写父类方法加不加@Override 这个是我在刚学习java时遇到的问题,希望能给像我一样的新手学习时带来帮助,如有错误请指正,谢谢! class Father{ ...
    99+
    2024-04-02
  • Java编程关于子类重写父类方法问题的理解
    子类重新实现父类的方法称重写;重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改;仅当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类;要么就不修改,与父类返回值类型相同。那么,该如何理解...
    99+
    2023-05-30
    java 子类重写父类方法 ava
  • jquery寻找父级的方法有哪些
    本教程操作环境:windows7系统、jquery3.6.1版本、Dell G3电脑。jquery寻找父级的方法parent()parents()parentsUntil()closest()方法一:parent()在jQuery中,我们可...
    99+
    2022-11-22
    jquery javascript
  • Python类的对象方法有哪些
    这篇文章主要讲解了“Python类的对象方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python类的对象方法有哪些”吧!今天看了一下装饰器 classmethod和staticm...
    99+
    2023-06-02
  • python文件读写的方法有哪些
    Python文件读写的方法有以下几种:1. 使用open()函数打开文件,并通过read()方法读取文件内容。```pythonfi...
    99+
    2023-09-13
    python
  • python中定义类的方法有哪些
    本篇内容主要讲解“python中定义类的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中定义类的方法有哪些”吧!python中的3种定义类方法:普通方法类方法(@class...
    99+
    2023-06-21
  • 函数重写与抽象方法:理解子类实现父类抽象方法的必要性
    函数重写允许子类重新定义父类方法,而抽象方法强制子类实现父类的未实现方法。子类实现父类抽象方法至关重要,因为它:提高代码的灵活性和可扩展性;减少代码冗余并促进重用;增强可测试性,允许轻松...
    99+
    2024-05-03
    抽象方法 函数重写 python
  • python中有哪些模块重载的方法
    本篇文章为大家展示了python中有哪些模块重载的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • python处理重复值的方法有哪些
    Python处理重复值的方法有以下几种: 使用集合(set):将重复值放入一个集合中,集合会自动去除重复值。可以通过将列表转化为集...
    99+
    2023-10-24
    python
  • python查找重复值的方法有哪些
    在Python中,可以使用多种方法来查找重复值。以下是一些常见的方法:1. 使用循环遍历列表或数组,将每个元素与其后面的元素进行比较...
    99+
    2023-08-17
    python
  • Python类的继承和方法重写总结
    Python类的继承和方法重写总结  我们都知道类可以继承,通过继承可以实现代码的复用,使代码看起来更加简洁 比如:Class B(A): Pass 定义了一个名为B的类,它继承于A,我们把B叫做A的子类,A叫做B的超类(父类)。 方法重写...
    99+
    2023-01-31
    重写 方法 Python
  • Python优雅的写法有哪些
    本篇内容介绍了“Python优雅的写法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为多个变量赋值有时,有多个变量需要赋值,这时你会怎...
    99+
    2023-06-17
  • python打印的写法有哪些
    本文小编为大家详细介绍“python打印的写法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“python打印的写法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、前期准备假设parent/__in...
    99+
    2023-06-30
  • Python类的基本使用方法有哪些
    1、面向对象类(class):是一种用来描述具有相同属性和方法的对象的集合。类变量:类变量在整个实例化的对象中是公用的。一般定义在类中且在函数体之外。方法:类中的函数数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:...
    99+
    2023-05-18
    Python
  • python中大小写转换的方法有哪些
    这篇文章主要介绍python中大小写转换的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python中大小写转换的方法有以下4种:1、lower() 方法大写字母转换为小写字母。如果字符串中没有需要被转换的...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作