为什么在python shell上输入变量名时会看到两个反斜杠?
>>> print '6\\3=2'
6\3=2 ==> Correctly prints back slash
>>> var1='6\\3=2'
>>> print(var1)
6\3=2 ==> Correctly prints back slash
>>> var1
'6\\3=2' ==> Why do I see two back slashes here ? Instead of just one ?
>>>
答案 0 :(得分:1)
python shell中的输出是字符串表示。它以相同的方式打印,就像在代码中键入它一样。
答案 1 :(得分:1)
来自docs:
str()函数用于返回值的表示 是相当人类可读的,而repr()是要生成的 可由解释者阅读的表示(或将强制执行 语法错误,如果没有等效语法)
print()
在对象上调用__str__()
,而将var var1
放在控制台中只调用对象内部表示__repr__()
。
>>> print(var1.__str__())
6\2=1
>>> print(var1.__repr__())
'6\\2=1'