注意最后一行程序中既有单引号又有双引号.....

问题

在《笨方法学python》书中的习题9 打印,打印,打印 中,有下面问题

  1. 注意最后一行程序中既有单引号又有双引号,你觉得它是如何工作的?

原因很简单。

原因

程序输出是这样的:

'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'

可以看到第三个字符串是双引号,其他都是单引号。是因为该字符串里面已经有单引号( didn't )了,所在python在外面给它用上了双引号。

如果用单引号包含它,就成了'But it didn't sing.'。python会认为'But it didn'是个字符串,Python并不知道如何处理该行余下的内容。

如图:

注意最后一行程序中既有单引号又有双引号.....

使用单引号的另外一种选择是,使用反斜线\对字符串中的引号进行转义,这样Python就会明白中间的单引号是字符串的一部分,而不是字符串的结束标记(同样对双引号也可以使用相同的方式进行转义):

注意最后一行程序中既有单引号又有双引号.....

总结

对于 %r 输出时自动添加引号,我认为默认输出添加单引号,如果字符里出现单引号,则输出时添加双引号。


参考:
《笨方法学Python》习题8 - 简书
笨办法学Python(八)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青山abc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值