本文主要是介绍【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算法
这篇关于【Python】主动调用其他类的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!