981329848 发表于 2020-4-24 07:10:52

求助:为啥反斜杠时有时候是单斜杠有时候又是双斜杠

例如:
>>>print ('\\我爱小甲鱼\\')
\我爱小甲鱼\
>>>str1 = '\\我爱小甲鱼\\'
'\\我爱小甲鱼\\'


print()函数和赋值输出的结果有什么讲究吗?

heidern0612 发表于 2020-4-24 07:33:08

print是打印给前台输出看的,反斜杠在print的时候会被转义掉一个。

而在str里,你赋值什么,就是什么。

相应的,你print打印你自己赋值的str时,反斜杠也会自动转义掉一个。


由于你是在IDLE里面操作的,所以对你来说,都是输出给你看的,看不出什么区别。

你可以把他写在程序里,然后打印出来再看下,就看出区别了。


或者说你可以换个思维理解下:

print相当于把你需要给用户看的东西,展示给用户看,那么一些原始的代码,你自然不想让用户看到。

或者说一些影响用户体验的东西,你不想展示给用户看。

而str赋值相当于你只是在后台的操作,还没准备用户看,当你想给用户看时,print即可。

永恒的蓝色梦想 发表于 2020-4-24 07:36:10

print 输出的是对象的 __str__ 方法返回的值,交互式中是返回的 __repr__ 方法返回的值。
__str__ 方法返回的值一般是给人阅读的,而 __repr__ 方法会告诉你如何重建这个对象。

麻麦皮 发表于 2020-4-24 07:37:44

str1查看字符串原始内容,字符串本身是什么这里就显示什么。
print(str1)查看的是格式化内容,其中\被当作转义字符处理。\\:用\转义\,就是显示为\。更多的有\n:换行符,\t:制表符。

981329848 发表于 2020-4-24 21:49:08

麻麦皮 发表于 2020-4-24 07:37
str1查看字符串原始内容,字符串本身是什么这里就显示什么。
print(str1)查看的是格式化内容,其中\被当作 ...

了解,谢谢了
页: [1]
查看完整版本: 求助:为啥反斜杠时有时候是单斜杠有时候又是双斜杠