笨办法学Python习题08:打印,打印

[复制链接]
2333 0
一、开始撸码
ex8.py (353 Bytes, 下载次数: 2286)
  1. formatter = "%r %r %r %r"
  2. print formatter % (1,2,3,4)
  3. print formatter % ("one", "two", "three", "four")
  4. print formatter % (True, False, False, True)
  5. print formatter % (formatter, formatter, formatter, formatter)
  6. print formatter % (
  7.                 "I had this thing .",
  8.                 "That you could type up right .",
  9.                 "But it didn't sing .",
  10.                 "So I said goodnigh."
  11. )
复制代码
二、结果输出正常

20150606-001112.jpg

三、练习总结
  • 变量这块没有什么问题,无非就是吧fomatter 赋值为 %r %r %r %r
  • 但是对结果中的单引号有些疑惑。

四、原书注解
我应该使用 %s 还是 %r?
你应该使用 %s,只有在想要获取某些东西的 debug 信息时才能用到 %r。 %r 给你的是变量的“程序员原始版本”,又被称作“representation(n. 代表;表现;表示法;陈述)”。
为什么 “one” 要用引号,而 True 和 False 不需要?
因为 True 和 False 是 Python 的关键字,用来表示真假的意义。如果你加了引号,它们就变成了字符串,也就无法实现它们本来的功能了。习题 27 中会有详细说明。
我在字符中包含了中文(或者其它非 ASCII 字符),可是 %r 打印出的是乱码?
使用 %s 就行了
为什么 %r 有时打印出来的是单引号,而我实际用的是双引号?
Python 会用最有效的方式打印出字符串,而不是完全按照你写的方式来打印。这样做对于 %r 来说是可以接受的,因为它是用作 debug 和排错,没必要非打印出多好看的格式。
为什么 Python 3 里这些都不灵?
别使用 Python 3 系列。使用 Python 2.7 或更新的版本,虽然 Python 2.6 应该也没问题。
可不可以使用 IDLE 运行代码?
不行。你应该学习使用命令行。命令行对学习编程很重要,而且是一个学习编程的绝佳初始环境。
IDLE 在本书后面的章节里会让你失望的。

您需要登录后才可以回帖 登录 | 禁止注册

本版积分规则

研究报告

更多

社区同学

更多

客服中心

Admin@tjrzzl.com 周一至周日 10:00-22:00 仅收市话费

关注我们

  • 加入QQ群组
  • 关注官方微信
关于我们
关于我们
友情链接
联系我们
帮助中心
运营理念
注册说明
获取硬币
服务说明
社区规范
免责声明
账户安全
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表