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中的__slots__使用示例
Feb 26 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python 多线程的实例详解
Sep 07 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
python检索特定内容的文本文件实例
Jun 05 Python
详解python分布式进程
Oct 08 Python
pandas通过loc生成新的列方法
Nov 28 Python
python实现词法分析器
Jan 31 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
Python读取表格类型文件代码实例
Feb 17 Python
PyTorch中的C++扩展实现
Apr 02 Python
python flask开发的简单基金查询工具
Jun 02 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
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
Python生成pdf文件的方法
2014/08/04 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
python通过http下载文件的方法详解
2019/07/26 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
神话般的珠宝:Ross-Simons
2020/07/13 全球购物
为什么要做架构设计
2015/07/08 面试题
优秀乡村医生先进事迹材料
2014/08/23 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
opencv检测动态物体的实现
2021/07/21 Python
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python