Python类之super()与私有属性
Posted enoch-m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python类之super()与私有属性相关的知识,希望对你有一定的参考价值。
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类之super()与私有属性的主要内容,如果未能解决你的问题,请参考以下文章
Python全栈--9.1--面向对象进阶-super 类对象成员--类属性- 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理