习题 5: 更多的变量和打印 ************************ 我们现在要键入更多的变量并且把它们打印出来。这次我们将使用一个叫“格式化\ 字符串(format string)”的东西. 每一次你使用 ``"`` 把一些文本引用起来,你就建立了一个字符串。 字符串是程序将信息展示给人的方式。你可以打印它们,可以将它们写入文件,还\ 可以将它们发送给网站服务器,很多事情都是通过字符串交流实现的。 字符串是非常好用的东西,所以再这个练习中你将学会如何创建包含变量内容的字\ 符串。使用专门的格式和语法把变量的内容放到字符串里,相当于来告诉 python :“嘿,\ 这是一个格式化字符串,把这些变量放到那几个位置。” 一样的,即使你读不懂这些内容,只要一字不差地键入就可以了。 .. literalinclude:: ex/ex5.py :linenos: .. warning:: 如果你使用了非 ASCII 字符而且碰到了编码错误,记得在最顶端加一行 ``# -- coding: utf-8 --`` 。 你应该看到的结果 ================ .. literalinclude:: ex/ex5.txt :language: console 加分习题 ======== 1. 修改所有的变量名字,把它们前面的``my_``去掉。确认将每一个地方的都改掉,\ 不只是你使用``=``赋值过的地方。 2. 试着使用更多的格式化字符。例如 ``%r`` 就是是非常有用的一个,它的含义是“不管什么都\ 打印出来”。 3. 在网上搜索所有的 Python 格式化字符。 4. 试着使用变量将英寸和磅转换成厘米和千克。不要直接键入答案。使用 Python 的\ 计算功能来完成。 常见问题回答 ========================== 这样定义变量行不行: ``1 = 'Zed Shaw'``\? 不行。 `1` 不是一个有效的变量名称。变量名要以字母开头。所以 `a1` 可以,但 `1` 不行。 `%s`, `%r`, `%d` 这些符号是啥意思? 后面你会详细学到更多,现在可以告诉你的是它们是一种“格式控制工具”。它们告诉 Python 把右边的变量带到字符串中,并且把变量值放到 `%s` 所在的位置上。 还是不懂,“格式控制工具”是啥? 要明白一些描述的意义,你得先学会编程才更容易理解,你可以把这样的问题记录下来,看后面\ 的内容会不会向你解释这些东西。 如何将浮点数四舍五入? 你可以使用 ``round()`` 函数,例如: ``round(1.7333)`` 我碰到了错误: `TypeError: 'str' object is not callable`\。 很有可能你是漏写了字符串和变量之间的 `%` 。 这都是些什么玩意啊?我还是很糊涂。 试着将脚本里的数字看作是你自己量出来的东西,这样会很奇怪,但是多少会让你有身临其境的感觉,\ 从而帮助你理解一些东西。