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如安在不同类之间挪用要领的细致内容,更多请关注ki4网别的相干文章!