我正在使用Astroid Python包进行Pylint项目。 我想知道是否有一种通用且方便的方法可以使用Astroid检索if语句的条件分支数
例如,对于声明:
if (branch1 and branch2): pass
我想要返回值2
我用astroid
找到了一种天真的方法:
def _has_one_condition(node):
return isinstance(node, astroid.Compare)
def _has_2_conditions(node):
return (
isinstance(node, astroid.BoolOp)
and len(node.values) == 2
and isinstance(node.values[0], astroid.Compare)
and isinstance(node.values[1], astroid.Compare)
)
我正在寻找一种更通用的方法来使用astroid
这是一种计算if语句分支数的方法。确保作为节点传递的参数是
if astroid node
的.test
属性相关问题 更多 >
编程相关推荐