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 时间操作例子和时间格式化参数小结
Apr 24 Python
python对字典进行排序实例
Sep 25 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
python 剪切移动文件的实现代码
Aug 02 Python
python批量识别图片指定区域文字内容
Apr 30 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
如何在Python 游戏中模拟引力
Mar 27 Python
Python调用shell命令常用方法(4种)
May 11 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
python中怎么表示空值
Jun 19 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 Python
FP-growth算法发现频繁项集——构建FP树
Jun 24 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 配置文件中open_basedir选项作用
2009/07/19 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
php读取mysql的简单实例
2014/01/15 PHP
php轻松实现文件上传功能
2016/03/03 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
js 深拷贝函数
2008/12/04 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
python进阶教程之异常处理
2014/08/30 Python
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
怎样使用Python脚本日志功能
2016/08/14 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
python实现微信自动回复功能
2018/04/11 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Python如何使用input函数获取输入
2020/08/06 Python
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
伊索寓言教学反思
2014/05/01 职场文书
社团活动总结格式
2014/08/29 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
求职导师推荐信范文
2015/03/27 职场文书
2015年信访工作总结
2015/04/07 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
JavaScript ES6的函数拓展
2022/01/18 Javascript
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS