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中itertools模块用法详解
Sep 25 Python
PyQt5每天必学之切换按钮
Aug 20 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
python实现windows倒计时锁屏功能
Jul 30 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
Python list与NumPy array 区分详解
Nov 06 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
浅谈pytorch中的dropout的概率p
May 27 Python
详解Python函数print用法
Jun 18 Python
Python+SeaTable实现计算两个日期间的工作日天数
Jul 07 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中array_merge和array相加的区别分析
2013/06/17 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
python中如何进行连乘计算
2020/05/28 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
Java基础面试题
2012/11/02 面试题
医务工作者先进事迹材料
2014/01/26 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
端午节演讲稿
2014/05/23 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
总经理年会致辞
2015/07/29 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers