python中compare_Python ast.Compare方法代码示例

本文介绍Python中的ast模块,特别是ast.Compare方法。通过示例代码展示如何使用这个方法进行比较操作,包括不同类型的比较表达式处理,如乘法、加法、减法等运算符的转换。
摘要由CSDN通过智能技术生成

# 需要导入模块: from compiler import ast [as 别名]

# 或者: from compiler.ast import Compare [as 别名]

def expr(self, node, current_klass):

if isinstance(node, ast.Const):

return self._const(node)

# @@@ not sure if the parentheses should be here or in individual operator functions - JKT

elif isinstance(node, ast.Mul):

return " ( " + self._mul(node, current_klass) + " ) "

elif isinstance(node, ast.Add):

return " ( " + self._add(node, current_klass) + " ) "

elif isinstance(node, ast.Sub):

return " ( " + self._sub(node, current_klass) + " ) "

elif isinstance(node, ast.Div):

return " ( " + self._div(node, current_klass) + " ) "

elif isinstance(node, ast.Mod):

return self._mod(node, current_klass)

elif isinstance(node, ast.UnaryAdd):

return self._unaryadd(node, current_klass)

elif isinstance(node, ast.UnarySub):

return self._unarysub(node, current_klass)

elif isinstance(node, ast.Not):

return self._not(node, current_klass)

elif isinstance(node, ast.Or):

return self._or(node, current_klass)

elif isinstance(node, ast.And):

return self._and(node, current_klass)

elif isinstance(node, ast.Invert):

return self._invert(node, current_klass)

elif isinstance(node, ast.Bitand):

return "("+self._bitand(node, current_klass)+")"

elif isinstance(node, ast.LeftShift):

return self._bitshiftleft(node, current_klass)

elif isinstance(node, ast.RightShift):

return self._bitshiftright(node, current_klass)

elif isinstance(node, ast.Bitxor):

return "("+self._bitxor(node, current_klass)+")"

elif isinstance(node, ast.Bitor):

return "("+self._bitor(node, current_klass)+")"

elif isinstance(node, ast.Compare):

return self._compare(node, current_klass)

elif isinstance(node, ast.CallFunc):

return self._callfunc(node, current_klass)

elif isinstance(node, ast.Name):

return self._name(node, current_klass)

elif isinstance(node, ast.Subscript):

return self._subscript(node, current_klass)

elif isinstance(node, ast.Getattr):

return self._getattr(node, current_klass)

elif isinstance(node, ast.List):

return self._list(node, current_klass)

elif isinstance(node, ast.Dict):

return self._dict(node, current_klass)

elif isinstance(node, ast.Tuple):

return self._tuple(node, current_klass)

elif isinstance(node, ast.Slice):

return self._slice(node, current_klass)

elif isinstance(node, ast.Lambda):

return self._lambda(node, current_klass)

else:

raise TranslationError("unsupported type (in expr)", node)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值