是否有一种工具可以让您将函数/方法注释为“纯”,然后分析代码以测试所述函数/方法是否没有副作用?
在 Python 世界中,这个问题没有多大意义,因为对象对函数调用中发生的情况有很大的发言权。
例如,你如何判断以下函数是否是纯函数?
def f(x):
return x + 1
答案取决于什么x is:
>>> class A(int):
def __add__(self, other):
global s
s += 1
return int.__add__(self, other)
>>> def f(x):
return x + 1
>>> s = 0
>>> f(A(1))
2
>>> s
1
虽然功能f看起来很纯粹,添加操作x有增加的副作用s.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)