我有许多方法具有以下格式:
def p_methodone(a):
pass
def p_methodtwo(a):
pass
...
我想删除pass
并使用代码a[0] = a[1]
填充这些方法。是否可以使用像反射之类的东西动态地在Python中执行此操作?原因是我有这些方法的很多,而代码a[0] = a[1]
可能会在以后改变 - 不得不在一个地方改变它(而不是做搜索和替换)。
(注意:我无法以任何方式改变这些定义,因为外部库依赖于它们采用这种格式。)
答案 0 :(得分:1)
改为使用lambdas!
y = lambda a: a[0] = a[1]
y([1, 2, 3])
答案 1 :(得分:0)
您可以使用lambda函数或其他函数
覆盖函数定义>>> def newdef(a): return a+1
...
>>> p_methodone = newdef
>>> p_methodone(10)
11
>>> def newdef(a): return a+2
...
>>> p_methodone = newdef
>>> p_methodone(10)
12