python中类相关笔记

1.子类继承父类时,如果没有显式调用父类__init__方法或者重写__init__方法,子类会继承父类的__init__方法,子类对父类进行扩展时,可重写父类__init__方法并加以调用。

class A:
def __init__(self):
self. a = 1


class B(A):
def __init__(self):
super(B, self).__init__()
# A.__init__(self)


obj = B()
print(obj.a)

2.类的__init__方法为类的初始化方法,也就是实例化时会自动执行的操作,构造类的实例的方法是__new__方法,__new__方法创建的实例传入__init__方法完成初始化

class P:
pass

class Q:

def __init__(self, *args, **kwargs):
print(args)
print(kwargs)
print("传入实例%s,开始初始化" % self)

def __new__(cls, *args, **kwargs):
print("创建%s类的实例" % cls)
# return object.__new__(cls)
return super(Q, cls).__new__(Q) # Q也可写为cls,cls指当前类,这里可创建某类的实例并返回,super(Q, cls).__new__(P),类Q实例化时为实例P

Q("a", "b", c="d")
原文地址:https://www.cnblogs.com/sunlijun/p/13470310.html