2017/2/6
在写Java的过程中, 这两个东西非常有用( 对付null )
那么, Python世界中, 可否有类似实现 ?
检查函数的返回值 ( @NotNull 提供 )
检查函数的形参( @NotNull 提供 )
提醒对返回值进行check ( @Nullable提供 )
最厉害的使这个
public String someMethod(@NotNull String var1, @NotNull int var2, float var3)
检查函数的返回值, python装饰器应该不难做到
def return_value_not_none(fn):
@functools.wraps(fn)
def wrapper(*arg, **kw):
return_value = fn(*args, **kw)
if return_value is None:
raise TypeError('return value can not be None')
else:
return return_value
return wrapper
@return_value_not_none
def test(a):
if a > 0:
return a
else:
return None
Jetbrains提供的 @NotNull
: https://blog.jetbrains.com/id...
对应的blog: https://blog.jetbrains.com/id...
Je ne connais pas très bien Java, mais je pense que le décorateur de Python peut le résoudre.
Une question faible. Puis-je utiliser directement si return_value est None : pour la résoudre