格式化输出类似于 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)