您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中類與類之間屬性和方法的調用方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
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中類與類之間屬性和方法的調用方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。