Python: 如何在不执行代码的情况下验证函数调用
Python: How to validate function calls without executing code
我想验证 python 函数调用是否有效而不执行它们。
假设我有以下代码:
def func(a, b):
print(a, b)
cond = True
if cond:
func(1, 2)
else:
func(1)
如果cond = True
,那么一切都会运行就好了,但是如果cond = False
,那么它将失败并抛出以下错误:
TypeError: func() takes exactly 2 arguments (1 given)
我需要知道是否所有函数调用都有效,而不必调用任何函数。
可以使用 mypy.
预先检查此类错误
- 安装 mypy
python3 -m pip install -U mypy
.
- 用于检查 Python3 代码 运行
mypy code.py
,以及用于 Python2 运行 mypy --py2 code.py
.
- 它会抛出以下错误:
code.py:9: error: Too few arguments for "func"
Found 1 error in 1 file (checked 1 source file)
我想验证 python 函数调用是否有效而不执行它们。
假设我有以下代码:
def func(a, b):
print(a, b)
cond = True
if cond:
func(1, 2)
else:
func(1)
如果cond = True
,那么一切都会运行就好了,但是如果cond = False
,那么它将失败并抛出以下错误:
TypeError: func() takes exactly 2 arguments (1 given)
我需要知道是否所有函数调用都有效,而不必调用任何函数。
可以使用 mypy.
预先检查此类错误- 安装 mypy
python3 -m pip install -U mypy
. - 用于检查 Python3 代码 运行
mypy code.py
,以及用于 Python2 运行mypy --py2 code.py
. - 它会抛出以下错误:
code.py:9: error: Too few arguments for "func"
Found 1 error in 1 file (checked 1 source file)