python如何在不同类之间调用方法
发布时间:2020年11月23日 01:02:15
来源:环球青藤
点击量:896
【摘要】Python中类与类之间属性和方法的调用 class A(object): 定义一个类 name=& 39;python& 39; 类属性
Python中类与类之间属性和方法的调用
class A(object): #定义一个类
name='python' #类属性
def __init__(self): #实例属性
self.age=18
def a_print(self): #实例方法
print('aaa')
@classmethod #类方法
def b_print(cls): #cls指代当前的类
print(cls.__name__) #获取当前类名
@staticmethod #静态方法
def c_print():
print('static')
print(A.name) #调用类属性
A.b_print() #调用类方法
# print(A.age) 不可以调用实例属性
print(A().age) #匿名实例对象可以调用实例属性
a_obj=A() # 类对象可以调用这个类中所有方法和属性
print(a_obj.age)
print(a_obj.name)
a_obj=A() #在外部生成一个对象
a_obj.num=1000 #对 对象增加一个额外属性,并赋值
def func(a_obj): #再把这个对象传递到另一个方法中
print(a_obj.num) #这个方法中我就可以拿到这个对象,并用这个对象获取到这个对象额外添加 的数据
func(a_obj)
#可以在方法中传递数据
#一个类想要调用另一个类的方法和属性,有两种形式
# 1.继承
# 2.把另外一个对象传递到这个类中,在这个类中调用实例对象
# 把一个类当做是另一个类的属性,通过属性调用的方式调用另一个类的方法
class B(object):
def __init__(self):
self.a_obj=A() #把A对象直接作为B的属性
def func(self,a_obj):
print(a_obj.num)
a_obj.a_print()
b_obj=B()
b_obj.a_obj.a_print()
b_obj.a_obj.b_print()
b_obj=B()
b_obj.func(a_obj)
例:
son.py和all.py在同一个文件夹下面,可以通过from son import *或者import son来互相调用。
可以动态实例化son.py里面的SON类,而且也可以把ALL的实例通过参数传递给SON,从而调用ALL类的方法。
all.py
from son import *
class ALL():
def __init__(self):
self.mSon = SON(self)
def getAll(self):
print "=================getall---------------"
return self.mSon.getSon()
def getAlltest(self):
print "=================getAlltest---------------"
Instance = ALL()
Instance.getAll()
son.py
class SON():
def __init__(self, instance):
self.mBattle = instance
def getSon(self):
return self.mBattle.getAlltest()
更多Python相关技术文章,请访问Python教程栏目进行学习!
以上就是小编分享的关于python如何在不同类之间调用方法的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
最新文章
Python编程各地入口
环球青藤官方微信服务平台
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务
Python编程热点排行