【Python】主动调用其他类的方法(python类方法调用)

网友投稿 396 2022-08-27


【Python】主动调用其他类的方法(python类方法调用)

1 创建对象并调用方法的两种方式

"""class Base(object): def f1(self): print('5个功能') # obj = Base()# Base.f1(obj) #一般不用这种方法调用类中对象的方法obj = Base()obj.f1()

2 主动调用类中的方法

# ########### 方式一# class Base(object):## def f1(self):# print('5个功能')## class Foo(object):## def f1(self):# print('3个功能')# Base.f1(self) #主动调用Base类的f1方法,两个类并无继承关系## obj = Foo()# obj.f1()# ########### 方式二:按照类的继承顺序,找下一个.""" class Base(object): #单继承 def f1(self): print('5个功能')class Foo(Base): def f1(self): super().f1() #super(Foo, self).f1() print('3个功能') obj = Foo()obj.f1()"""# ########### 方式二:按照类的继承顺序,找下一个.# class Foo(object): # def f1(self):# super().f1() #super是当前所在类的对象父类(或按继承关系)# print('3个功能')## class Bar(object):# def f1(self):# print('6个功能')## class Info(Foo,Bar): #多继承# pass## # obj = Foo()# # obj.f1()## obj = Info()# obj.f1() #先找Info类中的f1方法,没有则去Foo里面找,执行Foo类中的f1方法,注意f1中的super方法执行是按Info类的继承顺序来的,及执行Bar中的f1方法 print(Info.__mro__) #打印继承顺序

复杂的多继承遵循C3算法


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 数据结构与算法系列精讲之环形链表
下一篇:【Python】类的嵌套使用(Python嵌套)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~