例如,假设您有以下变量:
int i = 9;
int j = 7;
Run Code Online (Sandbox Code Playgroud)
根据实现,,,的值(-i)/j可以是–1或–2.怎么可能得到这两个不同的结果?
以下是我发现并希望有人解释的一些代码.
如果我将一个字符串赋给变量y,用eval函数计算它并将内容分配给变量y2,解释器返回true.
>>> y = 'a string'
>>> y2 = eval(repr(y))
>>> y == y2
>>> True
Run Code Online (Sandbox Code Playgroud)
以这种方式使用str(y):
>>> eval(str(y))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
a string
^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud)
不被允许.这是为什么?