最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python如何在不同类之间调用方法

来源:动视网 责编:小采 时间:2020-11-27 14:06:45
文档

python如何在不同类之间调用方法

python如何在不同类之间调用方法:Python中类与类之间属性和方法的调用class A(object): #定义一个类 name='python' #类属性 def __init__(self): #实例属性 self.age=18 def a_print(self): #实例方法 print('aaa') @classmethod
推荐度:
导读python如何在不同类之间调用方法:Python中类与类之间属性和方法的调用class A(object): #定义一个类 name='python' #类属性 def __init__(self): #实例属性 self.age=18 def a_print(self): #实例方法 print('aaa') @classmethod


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如何在不同类之间调用方法:Python中类与类之间属性和方法的调用class A(object): #定义一个类 name='python' #类属性 def __init__(self): #实例属性 self.age=18 def a_print(self): #实例方法 print('aaa') @classmethod
推荐度:
标签: 如何在 方法 不同
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top