我有一個類,我正在添加一個幫助函數與setattr。該函數是一個正確創建的實例方法,並且像魅力一樣工作。屬性添加與setattr沒有顯示在幫助()
import new
def add_helpfunc(obj):
def helpfunc(self):
"""Nice readable docstring"""
#code
setattr(obj, "helpfunc",
new.instancemethod(helpfunc, obj, type(obj)))
但是,在調用對象實例的幫助時,新方法未列爲對象的成員。我認爲幫助(即pydoc)使用dir(),但dir()起作用而不起作用()。
我需要做些什麼才能獲得幫助信息更新?
的優點是什麼從這樣做獲得?我的意思不是聽起來很懷疑,我真的很好奇。 –
這種函數添加的用例是我們有一組類,我們希望以一種方式作爲開發人員使用,但在交互式shell中以更加簡潔和美觀的方式使用。我們爲現有的類注入了一些有益的東西,並刪除了一些功能太強大的功能,以使shell更友好,而不是具有並行類層次結構或其他類。 –