python中str()和repr()输出结果在pycharm于python3.7中为什么不同?

问题遇到的现象和发生背景

为什么输出的会是不同的结果,\是哪里来的?为什么\的个数不同呢?

img

为什么当使用pycharm时,输出的结果又不同了呢?

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
你s就是字符串  w'o"w
str()是返回和s一样的字符串 w'o"w
而repr()会在s字符串两边再加单引号,返回字符串字面量形式 'w\'o"w'  加了单引号字符串内容中的单引号前就要加\

用pycharm时,是用print()输出,只输出字符串的内容
输出
w'o"w
'w\'o"w'
而python交互模式下代码返回的字符串又要以字面量形式输出,也就是两边还要再加单引号,
w'o"w 以字面量形式输出是 'w\'o"w'
'w\'o"w' 以字面量形式输出是  '\'w\\\'o"w\''    就是字符串内容中的'和\前都要加\     等于是进行了两次字面量形式的转换

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

本质上是一样的,只不过一个字符串只显示了内容,另一个增加了引号,比如字符串s和's'的区别,这么理解的话
字符串:w'o"w
添加两边的引号:‘w'o"w’,
因为内部还有一个单引号,不加转义符就和第一个单引号成一对了,所以需要加一个\转义,就成了

img

同理字符串:

img

加两侧单引号:

img

还有一个问题就是中间'也是两个字符串,也需要转义,‘变成',\变成\,总体就是

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632