如何以编程方式确保函数包含return语句?
如何验证函数是否包含return关键字?我经常忘记返回行,所以我担心我的包的用户在提供基于函数的输入时也会忘记。
def appler():
a = "apple"
# `return` is missing
def bananer():
b = "banana"
return b
我可以为最后一行解析函数的实际代码字符串,其中包含"return"但不是很健壮(它可能由注释触发)。
def validate_funk(funk):
if condition_to_check_that_it_contains_rtrn:
pass
else:
raise ValueError(f"Yikes - The function you provided not contain a `return` statement:nn{funk}")
>>> validate_funk(appler)
#triggers ValueError
>>> validate_funk(bananer)
# passes
编辑:理想情况下不运行该功能。