how does python parse ++x?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Behaviour of increment and decrement operators in Python
我对python完全陌生,我写了+x,认为它会增加x,所以我错了,没问题。但也没有语法错误。因此我的问题是:++X在Python中实际上意味着什么?
1 2 3 4 5 6 | >>> ++5 5 >>> ++"hello" Traceback (most recent call last): File"<stdin>", line 1, in <module> TypeError: bad operand type for unary +: 'str' |
如果在用户定义类的对象上调用
为了确认这一点,我们可以使用ast模块来演示python如何解析表达式:
1 2 3 | import ast print(ast.dump(ast.parse('++x', mode='eval'))) Expression(body=UnaryOp(op=UAdd(), operand=UnaryOp(op=UAdd(), operand=Name(id='x', ctx=Load())))) |