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


Posted in Python onJune 15, 2020

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

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

Python 相关文章推荐
Python Queue模块详解
Nov 30 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
Python使用sorted排序的方法小结
Jul 28 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
Python新手学习标准库模块命名
May 29 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
详解如何用Python实现感知器算法
Jun 18 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 #Python
Python StringIO及BytesIO包使用方法解析
Jun 15 #Python
Python smtp邮件发送模块用法教程
Jun 15 #Python
pandas数据处理之绘图的实现
Jun 15 #Python
keras中的loss、optimizer、metrics用法
Jun 15 #Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 #Python
基于python和flask实现http接口过程解析
Jun 15 #Python
You might like
超级简单的发送邮件程序
2006/10/09 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
jquery ajax例子返回值详解
2012/09/11 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
vue router demo详解
2017/10/13 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
python 显示数组全部元素的方法
2018/04/19 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
马来西亚网上购物:Youbeli
2018/03/30 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
XML文档面试题
2015/08/05 面试题
机电工程学生自荐信范文
2013/12/07 职场文书
高校十八大报告感想
2014/01/27 职场文书
社区春季防火方案
2014/06/02 职场文书
校园环保标语
2014/06/13 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
2014年度个人总结范文
2015/03/09 职场文书
关于车尾的标语大全
2015/08/11 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js