1. 变量的格式化输出
先看一段有问题的代码
a=2
b=6
c=a*b
print("乘积为"+c)
结果: File "C:/python_environment/PycharmProjects/TestDemo/test_num1.py", line 4, in <module>
print("乘积为"+c)
TypeError: Can't convert 'int' object to str implicitly
# 类型错误 不能 将int转换成str对象到隐式模式,简单讲就是输出有问题
如果希望输出⽂字信息的同时, ⼀起输出数据,就需要使⽤到格式化操作符%,专⻔⽤于处理字符串中的格式
包含 % 的字符串, 被称为 格式化字符串
% 和不同的 字符 连⽤, 不同类型的数据 需要使⽤ 不同的格式化字符
格式化字符 | 含义 |
%s | 字符串 |
%d | 有符号十进制整数, %06d 表示输出的整数显示位数,不足的地方使用 0 补全 |
%f | 浮点数, %.2f 表示⼩数点后只显示两位 |
%% | 输出% |
2. 语法
1) 整数类型案例
long=20
# print("文本信息:数据类型占位" 空格 % 空格 变量名称)
print("长度为:%d" % long)
结果: 长度为:20
2) 浮点类型 案例
x=6
y=5.5
z=x+y
# print("文本信息数据类型占位" 空格 % 空格 变量名称)
print("长度为:%f" % z)
# 浮点数,%.2f 表示⼩数点后只显示两位 .3就是保留三位有效值
print("长度为:%.2f" % z)
结果: 长度为:11.500000
长度为:11.50
3) 求面积案例
%主要是占位作用 多个数据之间用逗号分隔, 替换的变量用( ) 包起来内用逗号分隔多个变量 最好再加上空格
long_str=input("请输入长度:")
width_str=input("请输入宽度:")
# 转换类型
long=int(long_str)
width=float(width_str)
# 计算面积
area=long*width
print("长方形的长为:%d,宽为:%.1f,面积为:%.2f" % (long, width, area))
结果: 请输入长度:8
请输入宽度:0.9
长方形的长为:8,宽为:0.9,面积为:7.20
4) 小明学号信息和百分数综合案例
name="小明"
print("我的名字叫%s,请多关照" % name)
student_no = 1
print("学号1是:%6d" % student_no) # 学号是: 1 有6位数5个空格 1右对齐
print("学号2是:%-6d" % student_no) # 学号是:1 共有6位数 1后面有5个空格 1左对齐
print("学号3是:%-06d" % student_no) # 学号是:1 同上 和不加0一样
print("学号4是:%06d" % student_no) #学号是:000001 总共6位不够的取零
# 定义一个小数,输出百分数 百分数
x=0.1
print("数据比例:%.2f%%" % (x * 100))
# 从左往右 %%输出百分号, .2保留2位小数, 后面必须加( ) 不然会输出100次的数据比例:0.10%
结果:
我的名字叫小明,请多关照
学号1是: 1
学号2是:1
学号3是:1
学号4是:000001
数据比例:10.00%