当我们想打印一段话,而这段话中有一些数字和字符串变量已经被我们事先定义过,这时候如何很好的插入这些变量呢?答案便是 格式化字符串 。在例一中我们用了两次格式化字符串,第一个%d用来指代 stud_male,第二个 %d用来指代stud_female。我们在要打印的一段话也就是 引号里面 中用 %d 当成变量的替身占住位置,然后在引号外面再用 %引出真正的变量,这就是格式化字符串的用法。
注意在一段话中使用多个格式化字符串,变量需要放在圆括号中,变量之间用逗号隔开。参考例一。
运行结果:
常用的几种格式化字符串
在第一节中我们用了%d来替身整数变量。事实上,如果我们想要指代别的类型变量,就需要用到另外几种了。比如%s指代字符串变量,%f指代浮点数变量,%r可以指代任何类型变量。在例二中我们分别用 %s %d %f和%r打印同样一句话,结果发现二者区别很大:对于apple的打印,%r结果比%s多了单引号,等于说把变量本身整体打印下来了,而%f相比于%r多了四个0。究其原因%r使用rper()方法处理对象,对于字符串变量输出会带有单引号,而%s是用str()方法处理对象,不会出现单引号。另外%f的使用可以通过增加一个小数数字来控制小数点输出位数,例如%06.2f会打印 宽度6的2位小数,请大家自行练习。
运行结果:
字符串加法
当我们想要用一个加号+来连接两个字符串,会发生什么呢?答案是字符串会连接来组成一个更长的字符串,例三就很好地向我们展示了字符串的加法效果。
运行结果:
练习题
1,如何在依然用%f的情况将例二的第9行代码结果中3.140000变成3.14。
2, 先输入代码 import date time; time =datetime.date.today(),然后用%r和%s分别打印time,查看并思考二者区别。
3,定义变量并打印经典英文对话 How are you? I am fine, thank you, and you? 使用格式化字符串以及字符串加法。