python中的getattr函式

2022-07-04 17:00:17 字數 944 閱讀 5277

getattr(object, name[, default]) -> value

get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. 

when a default argument is given, it is returned when the attribute doesn't 

exist; without it, an exception is raised in that case.

解釋的很抽象 告訴我這個函式的作用相當於是

object.name

試了一下getattr(object,name)確實和object.name是一樣的功能.只不過這裡可以把name作為乙個變數去處理

書上的例子很好的說明了這個函式的功用

使用getattr可以輕鬆實現工廠模式。

例:乙個模組支援html、text、xml等格式的列印,根據傳入的formate引數的不同,呼叫不同的函式實現幾種格式的輸出12

34importstatsout

defoutput(data,format="text"):

output_function=getattr(statsout,"output_%s"%format)

returnoutput_function(data)

Python中的getattr 函式 一

python的getattr內建函式簡直太強大了,它提供了從函式名字串到函式引用的對映,實現機制為字串和函式的松耦合。這有什麼好處呢?例如有乙個功能需求是溫度轉換,即通過得到的感測器型別呼叫相應的溫度轉換函式,若是用python的話那就相當容易和簡潔了,例如tempconvert模組定義了光纖感測器...

Python 反射getattr的應用

login.py 根據字串的形式去某個模組中尋找東西 getattr 根據字串的形式去某個模組中判斷東西是否存在 hasattr 根據字串的形式去某個模組中設定東西 setattr 根據字串的形式去某個模組中刪除東西 delattr 通過 import 匯入目標模組並且放在乙個物件中 f impor...

python 內建函式getattr

在工作中遇到這個函式,沒想起來再哪碰到過,一找讓我驚訝啦,這個函式好強大。下面簡單介紹一起其用法。1 獲取類變數 class a a 1 getattr a,a 1 2 獲取類函式 class b def funb print abc getattr b,funb abc 3 貌似還可以實現工廠模式...