格式化输出类似于 js 中的 `格式化${'输出'}`
1. % 格式化输出
格式 | 描述 |
%% | 转义 % -> 如果想在格式化输出中输出 % 在 % 前面再加多一个 % |
%c | 字符及其ASCII码 |
%s | 字符串 |
%d | 有符号整数(十进制) |
%u | 无符号整数(十进制) |
%o | 无符号整数(八进制) |
%x | 无符号整数(十六进制) |
%X | 无符号整数(十六进制大写字符) |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点数字(用小数点符号) |
%g | 浮点数字(根据值的大小采用%e或%f) |
%G | 浮点数字(类似于%g) |
%p | 指针(用十六进制打印值的内存地址) |
%n | 存储输出字符的数量放进参数列表的下一个变量中 |
- %s -> 字符串
name = input('请输入姓名:')
age = input('请输入年龄:')
me_msg = '我叫 %s ,今年 %s 岁' % (name, age)
print(me_msg)
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('你的爱好:')
msg = '''------------ info of %s -----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end -----------------''' % (name, name, age, job, hobbie)
print(msg)
- %d -> 整数
i = '整数:%d' % 1.1
print(i) # 整数:1
- %f -> 浮点数
f = '浮点数: %f' % 1.11
print(f) # 浮点数: 1.110000
- %.2f -> 浮点数(指定保留两位小数)
f = '浮点数(保留两位小数): %.2f' % 1.11
print(f) # 浮点数(保留两位小数): 1.11
- 通过键值对格式化输出 %(key)s
s = '姓名:%(name)s 年龄:%(age)s' % ({'name': 'Kevin', 'age': 18})
print(s)
2. format 格式化输出 -> 3种方式
- {{xxx}} -> 转义 {}
- 通过占位符的格式输出
# 写法一
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白', 36, 'girl', '太白')
# 写法二
lis_data = ['太白', 36, 'girl', '太白']
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format(*lis_data)
- 通过下标(索引)的格式输出
# 写法一
name = input('请输入名字:')
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name, 36, 'girl')
# 写法二
lis_data = ['太白', 36, 'girl', '太白']
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(*lis_data)
- 通过键值对的格式输出
# 写法一
name = input('请输入名字:')
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18, name=name, hobby='girl')
# 写法二
dict_data = {
'name': 'Kevin',
'age': 18,
'hobby': 'girl'
}
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(**dict_data)