def is_int_constant_py_ast(s):
"""
py_ast version on is_int_constant in redbaron_util.py
"""
s = s.strip()
rootnode = get_ast(s).body
if len(rootnode) == 1 and isinstance(rootnode[0], ast.Expr):
node = rootnode[0].value
if isinstance(node, ast.UnaryOp):
if isinstance(node.op, (ast.USub, ast.UAdd)):
return isinstance(node.operand, ast.Num)
else:
return isinstance(node, ast.Num)
return False
评论列表
文章目录