Lesson 57. python中的格式化输入输出


文章目录

  • 1. 什么是格式化输出
  • 2. 格式化字符串含义
  • 3. 语法格式
  • 4. 整型%d和字符串%s
  • 5. 浮点型
  • 6. 整数的占位:不够的位数 前面补0
  • 5. 百分号的实现


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变量

python怎么输出类型是什么 python中怎样输出_格式化字符串


以name的年龄为age格式输出

python怎么输出类型是什么 python中怎样输出_数据_02


更改变量age的值,重新打印结果,可以看到,年龄的值发生改变

python怎么输出类型是什么 python中怎样输出_字符串_03


python怎么输出类型是什么 python中怎样输出_格式化字符串_04


更改变量age的值为字符串类型

python怎么输出类型是什么 python中怎样输出_格式化字符串_05


age变量如果是字符串类型,那么它的占位符不能是%d(整型)

python怎么输出类型是什么 python中怎样输出_字符串_06


当age变量的值为小数时

python怎么输出类型是什么 python中怎样输出_字符串_07


可以看到打印的变量自动取整

python怎么输出类型是什么 python中怎样输出_数据_08


在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两个变量

python怎么输出类型是什么 python中怎样输出_python怎么输出类型是什么_09


打印name的工资为money,可以看到,保留了小数点后六位

python怎么输出类型是什么 python中怎样输出_数据_10


%f默认保留6位小数

python怎么输出类型是什么 python中怎样输出_格式化字符串_11


python怎么输出类型是什么 python中怎样输出_字符串_12


python怎么输出类型是什么 python中怎样输出_数据_13


%.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

python怎么输出类型是什么 python中怎样输出_字符串_14


在学号变量前补000

python怎么输出类型是什么 python中怎样输出_python怎么输出类型是什么_15

python怎么输出类型是什么 python中怎样输出_数据_16


%.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%

python怎么输出类型是什么 python中怎样输出_数据_17