Python 中訪問屬性和方法
作為一種面向物件的程式語言,Python 強調物件。類是建立物件的藍圖。Python 中的每個類都可以具有許多屬性,包括函式作為屬性。
訪問類的屬性
為了檢查類的屬性以及操作這些屬性,我們使用了許多 Python 內建方法,如下所示。
getattr() − 用於訪問類屬性的 Python 方法。
hasattr() − 用於驗證類中是否存在屬性的 Python 方法。
setattr() − 用於在類中設定附加屬性的 Python 方法。
下面的程式說明了如何使用上述方法在 Python 中訪問類屬性。
示例
class StateInfo:
StateName='Telangana'
population='3.5 crore'
def func1(self):
print("Hello from my function")
print getattr(StateInfo,'StateName')
# returns true if object has attribute
print hasattr(StateInfo,'population')
setattr(StateInfo,'ForestCover',39)
print getattr(StateInfo,'ForestCover')
print hasattr(StateInfo,'func1')輸出
執行以上程式碼將得到以下結果:
Telangana True 39 True
訪問類的方法
要訪問類的方法,我們需要將類例項化為物件。然後我們可以將方法作為類的例項方法訪問,如下面的程式所示。在這裡,透過 self 引數,例項方法可以訪問同一物件上的屬性和其他方法。
示例
class StateInfo:
StateName='Telangana'
population='3.5 crore'
def func1(self):
print("Hello from my function")
print getattr(StateInfo,'StateName')
# returns true if object has attribute
print hasattr(StateInfo,'population')
setattr(StateInfo,'ForestCover',39)
print getattr(StateInfo,'ForestCover')
print hasattr(StateInfo,'func1')
obj = StateInfo()
obj.func1()輸出
執行以上程式碼將得到以下結果:
Telangana True 39 True Hello from my function
從另一個類訪問一個類的方法
要從另一個類訪問一個類的方法,我們需要將被呼叫類的例項傳遞給呼叫類。下面的示例展示了它是如何完成的。
示例
class ClassOne: def m_class1(self): print "Method in class 1" # Definign the calling Class class ClassTwo(object): def __init__(self, c1): self.c1 = c1 # The calling method def m_class2(self): Object_inst = self.c1() Object_inst.m_class1() # Passing classone object as an argument to classTwo obj = ClassTwo(ClassOne) obj.m_class2()
輸出
執行以上程式碼將得到以下結果:
Method in class 1
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP