自定义函数与内建函数重名,又不想改为,怎么办?加前缀.
例如:python标准库中的list可以使用builtin.list区分
下面例子中,如果想自定义一个名为list的函数时,其内部调用了python标准库中的list函数,就可以这样区分。
import __builtin__
def list(f):
'''
将返回结果转为list
'''
def __call(*args, **kwargs):
return __builtin__.list(f(*args, **kwargs))
return __call
完成上述自定义后,在后续的调用中势必会遇到要调用的问题,依然是通过list和builtin.list来区分自定义函数和python标准库同名函数。