我想在旅途中使用以下模板创建python函数:
def x(sender,data):
r=b''
r+=sender.send_type0(data[0])
r+=sender.send_type1(data[1])
r+=sender.send_type2(data[2])
...
r+=sender.send_typen(data[n])
return r
我想从一个将类型数据保存为2D数组的数组中创建许多这些函数。 我可以在运行时生成简单的函数,但是我想在生成时运行for语句,而不是每次调用函数。 我怎样才能做到这一点?
答案 0 :(得分:2)
您可以使用getattr动态输入属性...
def x(sender,data):
return b"".join(
getattr(sender, "send_type"+i)(data[i])
for i in xrange(len(data))
)
我认为你不会在预编译功能方面找到很多性能优势,假设甚至可以......