python3: format函数

format函数:字符串的格式化输出。使用{}作为占位符,代替之前版本的%

1.输出类型
{}或者{:}则代表输出的是字符串
在这里插入图片描述

name = "张三"
age = 18
address = "北京市"
sex = "男"

# {}或者{:}则代表输出的是字符串
print("我的名字是:{}".format(name))
print("我的名字是:{:}".format(name))

{:d}、{:06d} 代表输出的是十进制数值,接收的数字是int类型的。如果变量是其他类型的,会报错。

在这里插入图片描述

name = "张三"
age = 18
address = "北京市"
sex = "男"

# {:d}、{:06d} 代表输出的是十进制数值,是整数.d前加数字,则输出对应位数,如果不够,就在数字前加上0
print("我的年龄是:{:d}".format(age))
print("我的年龄是:{:03d}".format(age))

{:f}、 {:.2f}输出为浮点数。接受的是float类型的。f前加数字,则表示需要保留的位数。如果接收的是其他数据类型,则会报错。

在这里插入图片描述

# format函数,字符串格式化输出
name = "张三"
age = 18
address = "北京市"
sex = "男"
float_num = 123.12345

# {:f}、 {:.2f}输出为浮点数
print("输出一个浮点的数字:{:f}".format(float_num))
print("输出浮点数字,保留3位小数:{:.3f}".format(float_num))

2.变量与占位符对应
a.占位符内,没有任何内容时,则按照变量的顺序,一一对应占位符。如下图:
在这里插入图片描述

name = "张三"
age = 18
address = "北京市"
sex = "男"
float_num = 123.12345

# 有多个值时,{}没有值,则按顺序一一对应填充
print("姓名:{:s} \n年龄:{} \n地址:{} \n".format(name, age, address))

b.占位符内,使用数字,调整变量填充顺序。{}中的数字,代表的是变量的索引。需要注意,变量的索引是从0开始的。{}中输入数字时,不要大于索引,否则会报错。
在这里插入图片描述

name = "张三"
age = 18
address = "北京市"
sex = "男"
 float_num = 123.12345

# 当{}中存在数字时,数字对应变量的索引,会按照数字取format函数中的值进行填充。需要注意,索引的值是从0开始。{}中的数字,不能超过变量的索引,否则会报错。
print("姓名:{1} \n年龄:{2} \n地址:{0} \n".format(name, age, address))

c.可以进行关键字进行变量对应填充。使用这个方法,需要注意,{}中的关键字一定要和format函数中的关键字一样。
在这里插入图片描述

print("我的名字是{name},年龄是:{age}".format(name='张三', age=18))

d.如果是列表,还可以使用列表形式的索引。
在这里插入图片描述

# 定义一个列表
list1 = ['张三', 18]

print('我的名字是{0[0]}, 年龄是{0[1]}'.format(list1))

e.format函数中,还可以使用字典,在{}中输入字典的key,取出对应的值。但是在format函数中,字典需要加上**
在这里插入图片描述

# 定义一个字典
dict1 = {"name": "张三", "age": 18}

print("我的名字是:{name},年龄是:{age}".format(**dict1))

3.需要注意的点:占位符可以比变量值少,但不能比变量值多,否则会报错。

name = "张三"
age = 18
address = "北京市"
sex = "女"

# {}占位符,要比format函数的变量少。否则会报错
print("姓名:{} \n年龄:{} \n地址:{} \n性别:{}".format(name, age, address))  # 有4个占位符,三个变量,则报错

print("姓名:{} \n年龄:{} \n地址:{} \n".format(name, age, address, sex))  # 有3个占位符,4个变量,则不会报错

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值