這是一個pythonic實現嗎?Pythonic? ...動態調用嵌套函數
我使用包裝函數從字符串參數動態調用嵌套函數,以減少調用不存在函數的機會。這裏就是我想執行(以==> =,<等方面)上ARG1和ARG2不同的比較爲例...
class ComparisonClass(object):
def__init__(self):
pass
def comparison(self,arg1,arg2,comparison):
def equal_to():
pass
def greater_than():
pass
def less_than():
pass
return locals()[comparison]()
def comparison_equal_to(self,arg1,arg2):
return self.comparison(arg1,arg2,'equal_to')
def comparison_greater_than(self,arg1,arg2):
return self.comparison(arg1,arg2,'greater_than')
def comparison_less_than(self,arg1,arg2):
return self.comparison(arg1,arg2,'less_than')
感謝您的回答!我對Python相當陌生,對__eq__系列不熟悉。當然,我會尋找文件,但你能否給我一個簡單的解釋它是什麼?如果我補充說還有更多的比較(也就是說,greater_than()涉及的不僅僅是要求'是arg1> arg2'),還可能有所幫助,但爲簡單起見,我在此省略了這些。我想我真的不應該指定比較,只是詢問它是否是動態調用嵌套函數的pythonic實現?道歉,如果我在任何地方錯過了點! – burn5 2011-12-16 13:18:50