A_class.py
# _*_ coding:utf-8 _*_
class base():
def step(self):
print("this is base")
class A(base):
def __init__(self):
self.name = 'A'
self.step()
print(self.p)
B_class.py
# _*_ coding:utf-8 _*_
class B():
def __init__(self):
self.sex = 'nv'
def step1(self):
print("B")
# _*_ coding:utf-8 _*_
from A_class import A
from B_class import B
class test(A,B):
def __init__(self):
self.p = "this is test!"
A.__init__(self)
B.__init__(self)
def info(self):
print(self.name)
print(self.sex)
def step(self):
print(self.p)
test = test()
test.py运行结果
this is test!
this is test!
个人觉得可能是初始化父类传入的self是子类实例,导致父类执行self.xx的时候调用的是子类的方法和、属性吧。
不明其原理,望指教。