python - 是否有一种“pythonic”方式来调整函数的定义?
问题描述
我正在使用一个使用useful_function(obj)
很多的模块。我的问题是我想useful_function
表现得与平时略有不同。目前,我正在使用以下方法来解决我的问题:
original_useful_function = useful_function
def useful_function(obj):
if meets_criteria(obj):
return my_desired_result(obj)
return original_useful_function(obj)
然后我可以继续我的工作,因为我知道每次调用useful_function
都会按照我想要的方式运行。但是,我很好奇是否有更好的方法来做到这一点。
解决方案
我只是可以考虑定义一个 lambda,但仅此而已,而且我认为没有简单的方法可以逃避重新分配有用的函数,除非该方法在一个类中并且我们使用__getattribute__
...
original_useful_function = useful_function
useful_function = lambda obj: my_desired_result(obj) if meets_criteria(obj) else original_useful_function(obj)
推荐阅读
- swift - 我想将代表分配给 GoogleMap 上的圈子,并在 segue 中转换到另一个 ViewController
- c# - 如果我使用 WriteAsync,当多个后台工作人员尝试写入同一个 .txt 文件时,我还会遇到问题吗?
- javascript - 当 String === String 时,Javascript 循环不返回 true
- c# - 在 datagridview 中查找和显示数据行
- python - 使用 python 从 CSV 文件创建具有以下结构的 json 文件
- python - Excel文件被覆盖而不是concat - Python - Pandas
- r - 在闪亮和顺序值中使用 facet_wrap 和 sliderInput
- r - 在推特被阻止的国家/地区使用 R 进行网络抓取
- python - 乘以 0 比 Python 中的任何其他乘法都快吗?
- powerbi - 计算不同条件下的平均值