如何确保python中没有运行时错误

2024-10-02 04:37:26 发布

您现在位置:Python中文网/ 问答频道 /正文


我对python编程非常陌生,并且使用IntelliJ处理相当大的python模块。我想知道是否有一个从多个地方调用的静态方法,我更改了这个方法的签名以接受不同数量的参数。我可能会在某些地方修复实际的方法调用,但在其他一些地方可能会错过更改调用的机会。在java中,我会收到一个编译时错误,但由于python是解释性的,所以我只会在运行时(可能在生产中)的某个时候发现这个错误。到目前为止,我一直在使用命令'python-mcompiileall',但我想知道在Java中有没有任何方法可以在IntelliJ中得到语法错误


Tags: 模块方法命令参数数量编程地方错误
1条回答
网友
1楼 · 发布于 2024-10-02 04:37:26

单元测试和静态代码分析工具(如^{})将有所帮助pylint能够检测到传递给函数的参数数目不正确

如果您使用的是python3,那么函数注释可能很有用,^{}可以键入check注释的函数调用(显然,我没有使用它)

一般来说,在不破坏依赖代码的情况下更改现有函数签名的策略是使用关键字参数。例如,如果要向函数添加新参数,请将其添加为关键字参数:

#def f(a):
#    """Original function"""
#    print(a)

def f(a, b=None):
    """New and improved function"""
    print(a)
    if b is not None:
        print(b)

现在,带和不带新参数的调用都将起作用:

>>> f('blah')
blah
>>> f('blah', 'cough')
blah
cough

当然,这并不总是有效的,例如,如果参数被删除,或者如果函数的语义以破坏现有代码的方式被更改

相关问题 更多 >

    热门问题