Lesson 57. python中的格式化输入输出
1. 什么是格式化输出
在python中可以使用print函数将信息输出到控制台
如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符
% 被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串,被称为格式化字符串
% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符
2. 格式化字符串含义
字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数,%06d表示输出的整数显示位数字,不足的地方使用0补全 |
%f | 浮点数,%.02f表示小数点后只显示两位 |
%% | 输出% |
3. 语法格式
print ('格式化字符串' % 变量1)
print ('格式化字符串' % (变量1,变量2...))
用格式化字符串把需要填写变量的地方先占上
一个python程序可以从键盘读取数据,可以从文件读取数据,程序的结果可以输出到终端屏幕上,可以保存到文件中便于以后使用
4. 整型%d和字符串%s
name = 'daisy'
# >>> name
# 'daisy'
# >>> age = 16
# >>> print('%s的年龄是%d' %(name,age))
# daisy的年龄是16
# >>> age = 18
# >>> print('%s的年龄是%d' %(name,age))
# daisy的年龄是18
# >>> age = '19'
# >>> print('%s的年龄是%d' %(name,age))
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# TypeError: %d format: a number is required, not str
# >>> age = 19.5
# >>> print('%s的年龄是%d' %(name,age))
# daisy的年龄是19
定义name和age变量
以name的年龄为age格式输出
更改变量age的值,重新打印结果,可以看到,年龄的值发生改变
更改变量age的值为字符串类型
age变量如果是字符串类型,那么它的占位符不能是%d(整型)
当age变量的值为小数时
可以看到打印的变量自动取整
在python3中%d自动将小数取整
5. 浮点型
>>> money=243567345.633567683435
# >>> name = 'Tom'
# >>> print('%s的工资为%f' %(name,money))
# Tom的工资为243567345.633568
# >>> money=60000
# >>> print('%s的工资为%f' %(name,money))
# Tom的工资为60000.000000
# >>> money=60000.99
# >>> print('%s的工资为%f' %(name,money))
# Tom的工资为60000.990000
# >>> print('%s的工资为%.2f' %(name,money))
# Tom的工资为60000.99
# >>> money=60000
# >>> print('%s的工资为%.3f' %(name,money))
# Tom的工资为60000.000
定义money和name两个变量
打印name的工资为money,可以看到,保留了小数点后六位
%f默认保留6位小数
%.2f表示只保留小数点后两位
6. 整数的占位:不够的位数 前面补0
# >>> sid = 1
# >>> name = 'lily'
# >>> print('%s的学号为000%d' %(name,sid))
# lily的学号为0001
# >>> sid = 2
# >>> print('%s的学号为000%d' %(name,sid))
# lily的学号为0002
# >>> sid = 10
# >>> print('%s的学号为000%d' %(name,sid))
# lily的学号为00010
# >>> print('%s的学号为%.5d' %(name,sid))
# lily的学号为00010
# >>> sid = 1
# >>> print('%s的学号为%.5d' %(name,sid))
# lily的学号为00001
# >>> sid = 20
# >>> sid = 100
# >>> print('%s的学号为%.5d' %(name,sid))
# lily的学号为00100
在学号变量前补000
%.5d表示一共有五位数
5. 百分号的实现
>>> scale = 0.1
# >>> print('数据的比例是:%.2f' %(scale))
# 数据的比例是:0.10
# >>> print('数据的比例是:%.2f' %(scale * 100))
# 数据的比例是:10.00
# >>> print('数据的比例是:%.2f%' %(scale * 100))
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# ValueError: incomplete format
# >>> print('数据的比例是:%.2f%%' %(scale * 100))
# 数据的比例是:10.00%