我在函數中傳遞方法時遇到問題。我已經看過這篇以前的文章。在python中傳遞方法
How do I pass a method as a parameter in Python
這裏是什麼,我試過一個簡單的例子。
def passMethod(obj, method):
return obj.method()
passMethod('Hi', lower)
最後我會用它來幫助編寫一個處理GIS(地理信息系統)數據的函數。數據就像一個數組。我想將一個新的列NAME1添加到數組中。數組然後有一個方法來調用列array.NAME1。
問候, 亞歷
您是否熟悉'map'?也許有一點'__iter__'? – cheeken
我不知道你爲什麼要以這種方式傳遞一個方法(儘管有合法的用例,爲什麼你希望這會很好)。如果你對python不熟悉,你可能沒有意識到你可以繞過''Hi'.lower'。這會給你一個返回''hi''的可調用對象。 – Darthfett
@Darthfett我試圖在最後一段提供一些上下文;但在抽象中很難理解。基本上,我有一個對象具有與數據集中變量名稱相關的方法。我想寫一個函數,允許用戶選擇變量,因此需要的方法。因此我不能將該方法硬編碼到我的函數中;例如使用「Hi」。因爲有時變量可能被稱爲「上」,甚至「foo」,所以下標不夠。 – Alex