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中列表(list)操作方法汇总
Aug 18 Python
给Python初学者的一些编程技巧
Apr 03 Python
python生成圆形图片的方法
Mar 25 Python
python3实现逐字输出的方法
Jan 23 Python
Python3数字求和的实例
Feb 19 Python
Python实现查找字符串数组最长公共前缀示例
Mar 27 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
如何在django中实现分页功能
Apr 22 Python
Django设置Postgresql的操作
May 14 Python
Python闭包装饰器使用方法汇总
Jun 29 Python
Django mysqlclient安装和使用详解
Sep 17 Python
python通配符之glob模块的使用详解
Apr 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日历类分享
2014/11/18 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
jQuery操作css样式
2017/05/15 jQuery
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
Python中super函数的用法
2017/11/17 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
python随机取list中的元素方法
2018/04/08 Python
python:接口间数据传递与调用方法
2018/12/17 Python
python贪吃蛇游戏代码
2020/04/18 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
Python 占位符的使用方法详解
2019/07/10 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
如何学习Python time模块
2020/06/03 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
解释i节点在文件系统中的作用
2013/11/26 面试题
婚礼证婚人证婚词
2014/01/08 职场文书
客服专员岗位职责
2015/02/10 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
开学典礼致辞
2015/07/29 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python