53.f格式化字符串
 
文章目录
- 53.`f`格式化字符串
 - 1.知识回顾
 - 2.`f`格式化字符串
 - 3.课堂练习
 - 4. 字符串格式化总结
 
1.知识回顾
之前我们学了2种格式化方法:
 %占位符格式化
 .format字符串格式化
【目标任务】
原样输出:大家好,我叫XXX,来自XXX,毕业于XXX!
【1.字符串拼接法】
name = "安迪"
city = "云南"
school = "复旦大学"
print("大家好,我叫"+name+",来自"+city+",毕业于"+school+"!")
 
【终端输出】
大家好,我叫安迪,来自云南,毕业于复旦大学!
 
【2.%占位符格式化】
name = "安迪"
city = "云南"
school = "复旦大学"
print("大家好,我叫%s,来自%s,毕业于%s!" % (name, city, school))
 
【终端输出】
大家好,我叫安迪,来自云南,毕业于复旦大学!
 
【3. .format字符串格式化】
name = "安迪"
city = "云南"
school = "复旦大学"
print("大家好,我叫{},来自{},毕业于{}!".format(name, city, school))
 
【终端输出】
大家好,我叫安迪,来自云南,毕业于复旦大学!
 
2.f格式化字符串
 
本节我们学第3种字符串格式化方法。
【体验代码】
name = "安迪"
city = "云南"
school = "复旦大学"
print(f"大家好,我叫{name},来自{city},毕业于{school}!")
 
【终端输出】
大家好,我叫安迪,来自云南,毕业于复旦大学!
 
f字符串格式化方法是我认为最简单的格式化方法:
【编写思路】
一.编写格式化模板。
-  
我们要输出的内容是:
大家好,我叫安迪,来自云南,毕业于复旦大学! -  
把要格式化的内容用英文大括号加变量名
{变量名}替换: 
安迪替换为大括号加变量名{name}。
云南替换为大括号加变量名{city}。
复旦大学替换为大括号加变量名{school}。
格式化模板为:"大家好,我叫{name},来自{city},毕业于{school}!"
二. 添加格式化符号f。
在格式化模板前添加一个表示需要格式化字符串的符号即小写的英文字母f即可。
我个人比较推荐使用这种方法。
3.课堂练习
编写代码输出圆的面积
【示例】
从终端输入圆的半径,编写代码输出圆的面积。
输入
 2.55
 输出
 半径为xx米的圆的面积是xx平方米。
【1.%占位符格式化】
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = 3.14*r**2
print("半径为%f米的圆的面积是%f平方米。" % (r,s))
 
【终端输出】
半径为2.550000米的圆的面积是20.417850平方米。
 
%f默认保留小数点后6位。
% .2 f保留小数点后2位
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = 3.14*r**2
print("半径为%.2f米的圆的面积是%.2f平方米。" % (r,s))
 
【终端输出】
半径为2.55米的圆的面积是20.42平方米。
 
【2. .format格式化字符串】
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = 3.14*r**2
print("半径为{}米的圆的面积是{}平方米。".format(r,s))
 
【终端输出】
半径为2.55米的圆的面积是20.417849999999998平方米。
 
:.3f 保留小数点后3位
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = 3.14*r**2
print("半径为{}米的圆的面积是{:.3f}平方米。".format(r,s))
 
【终端输出】
半径为2.55米的圆的面积是20.418平方米。
 
-  
:.3f 中的英文冒号
:是固定用法。 -  
:.3f 中的小圆点
.表示要对浮点数进行精度运算,即保留小数位数。 -  
:.3f 中的3表示保留小数点后3位。
 -  
:.3f 中的f表示数据类型为浮点数。
 
【3. f格式化字符串】
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = 3.14*r**2
print(f"半径为{r}米的圆的面积是{s}平方米。")
 
【终端输出】
半径为2.55米的圆的面积是20.417849999999998平方米。
 
【round对数值进行四舍五入求值】
# 用float函数将input函数得到的字符串类型转换成浮点数
r = float(input("请输入圆的半径:"))
# 圆的面积s等于π乘以r的平方
s = round(3.14*r**2, 4)
print(f"半径为{r}米的圆的面积是{s}平方米。")
 
【终端输出】
半径为2.55米的圆的面积是20.4178平方米。
 
上面的代码中我用round函数对s进行了四舍五入的操作。
s = round(3.14*r**2, 4)中最后的数字4表示保留小数点后4位。
4. 字符串格式化总结
观察上面的输出结果:
我们发现不同的格式化方法输出的结果小数点位数是不同的。
且语法格式也不相同。
具体用什么方法,大家根据自己的需求选择。



















