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函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
python统计多维数组的行数和列数实例
Jun 23 Python
python查看模块安装位置的方法
Oct 16 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
Python flask框架端口失效解决方案
Jun 04 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
Python如何将模块打包并发布
Aug 30 Python
python用700行代码实现http客户端
Jan 14 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(7) php 字符串相关应用
2010/03/05 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
python如何建立全零数组
2020/07/19 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
陈欧的广告词
2014/03/18 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
2014年学生工作总结
2014/11/20 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
结婚纪念日感言
2015/08/01 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL