Python类super()及私有属性原理解析

 更新时间:2020年06月15日 10:17:57   作者:鸡龟骨滚羹  
这篇文章主要介绍了Python类super()及私有属性原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

super()有参数写法:

# 1.定义父类
class A(object):
  def __init__(self):
    self.num = 1
  def info_print(self):
    print(self.num)

class C(A):
  def __init__(self):
    self.num = 2
  def info_print(self):
    print(self.num)
    super(C, self).__init__()
    super(C, self).info_print()
# 2. 定义子类,继承父类

class B(C):
  def __init__(self):
    self.num = 3

  def info_print(self):
    self.__init__()
    print(self.num)

  def print_A(self):
    A.__init__(self)
    A.info_print(self)

  def print_C(self):
    C.__init__(self)
    C.info_print(self)

  def print_AC(self):
    super(B, self).__init__()
    super(B, self).info_print()
b = B()
b.print_AC()

super()用于调用父类的方法

无参写法:

super().__init__()
super().info_print()

使用super()方法可以自动查找父类,查找顺序遵循__mro__类属性的顺序

私有属性与方法

设置私有极限的方法:在属性名和方法名前面加上两个下划线__

设置之后设置的实例属性或实例方法不继承给子类

获取和修改私有属性:

在类中添加函数:

def get_money(self):
  return self.__money
def set_money(self, money):
  self.__money = money

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 完美解决Pycharm无法导入包的问题 Unresolved reference

    完美解决Pycharm无法导入包的问题 Unresolved reference

    今天小编就为大家分享一篇完美解决Pycharm无法导入包的问题 Unresolved reference,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python爬虫容易学吗

    python爬虫容易学吗

    在本篇文章里,小编给大家分享的是一篇关于python爬虫是否容易学的相关知识点内容,有兴趣的朋友们可以阅读下。
    2020-06-06
  • 解析python实现Lasso回归

    解析python实现Lasso回归

    Lasso是一个线性模型,它给出的模型具有稀疏的系数。接下来通过本文给大家分享python实现Lasso回归的相关知识,感兴趣的朋友一起看看吧
    2019-09-09
  • 总结Python连接CS2000的详细步骤

    总结Python连接CS2000的详细步骤

    今天给大家带来的是关于Python的相关知识,文章围绕着Python连接CS2000的详细步骤展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • python调用kubernetesAPI简单使用方法

    python调用kubernetesAPI简单使用方法

    这篇文章主要介绍了python调用kubernetesAPI简单使用方法,K8s也提供API接口,提供这个接口的是管理节点的apiserver组件,下文更多相关内容,需要的小伙伴可以参考一下
    2022-05-05
  • Python和OpenCV进行多尺度模板匹配实现

    Python和OpenCV进行多尺度模板匹配实现

    本文将实现如何将标准模板匹配扩展到多尺度,使其可以处理模板和输入图像大小不同的匹配。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • YOLOv5车牌识别实战教程(八)Web应用与API开发

    YOLOv5车牌识别实战教程(八)Web应用与API开发

    这篇文章主要介绍了YOLOv5车牌识别实战教程(八)Web应用与API开发,在这个教程中,我们将一步步教你如何使用YOLOv5进行车牌识别,帮助你快速掌握YOLOv5车牌识别技能,需要的朋友可以参考下
    2023-04-04
  • Python常用队列全面详细梳理

    Python常用队列全面详细梳理

    队列是限制在两端进行插入和操作的线性表,允许存入操作的一段叫“队尾”,删除操作的一端叫“队头”,队列的特点:队列只能在队头和队尾进行数据操作,队列模型具有先进先出的规律
    2023-01-01
  • 深入解析神经网络从原理到实现

    深入解析神经网络从原理到实现

    这篇文章主要介绍了深入解析神经网络从原理到实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • matplotlib绘制雷达图的基本配置(万能模板案例)

    matplotlib绘制雷达图的基本配置(万能模板案例)

    本文主要介绍了matplotlib绘制雷达图的基本配置(万能模板案例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论