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中查看变量内存地址的方法
May 05 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
详解Python的Lambda函数与排序
Oct 25 Python
python去掉空白行的多种实现代码
Mar 19 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
python实现求特征选择的信息增益
Dec 18 Python
Python中的list与tuple集合区别解析
Oct 12 Python
Python读取表格类型文件代码实例
Feb 17 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
Python 实现RSA加解密文本文件
Dec 30 Python
Python实现钉钉/企业微信自动打卡的示例代码
Feb 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
python实现汽车管理系统
2018/11/30 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Python短信轰炸的代码
2020/03/25 Python
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
网页设计个人找工作求职信
2013/11/28 职场文书
二手书店创业计划书
2014/01/16 职场文书
代理商会议邀请函
2014/01/27 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
预备党员公开承诺书
2014/05/28 职场文书
计划生育工作总结2015
2015/04/03 职场文书
高中运动会前导词
2015/07/20 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle