习题 8: 打印,打印 ****************************** .. literalinclude:: ex/ex8.py :linenos: 你应该看到的结果 =================== .. literalinclude:: ex/ex8.txt :language: console 加分习题 ============ 1. 自己检查结果,记录你犯过的错误,并且在下个练习中尽量不犯同样的错误。 2. 注意最后一行程序中既有单引号又有双引号,你觉得它是如何工作的? 常见问题回答 ========================== 我应该使用 `%s` 还是 `%r`\? 你应该使用 `%s`\,只有在想要获取某些东西的 debug 信息时才能用到 `%r`\。 `%r` 给你的是\ 变量的“程序员原始版本”,又被称作“representation”。 为什么 "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 在本书后面的章节里会让你失望的。