python关于字符串format()格式化的问题

文章部分转载自: http://wiki.xuetang9.com/?p=7058
方法: str.format(args)
str :用于指定字符串模板
args:用于指定要转换的项,如有多项,则用逗号进行分割

模板介绍:用{}和: 指定占位符

{index:填充物|对齐方式|sign|#|宽度|千分位|.精度|指定类型}

index: 要设置格式的对象在参数列表中索引位置,索引值从0开始。

sign:“+”:正数加正号,负数加负号
“-”:正数不变,负数加负号
“ ”(空格):负数加负号

关于index的见解:(关于列表,元组,字典作为参数)

print(“网站名:{name}, 地址 {url}”.format(name=“菜鸟教程”, url=“www.runoob.com”))

通过字典设置参数

site = {“name”: “菜鸟教程”, “url”: “www.runoob.com”}
print(“网站名:{name}, 地址 {url}”.format(**site))

通过列表索引设置参数

my_list = [‘菜鸟教程’, ‘www.runoob.com’]
print(“网站名:{0[0]}, 地址 {0[1]}”.format(my_list)) == # “0” 是必须的 # 若列表参数没有*,则需要先指定参数列表的位置,在用[]写上该列表的指定元素索引==

网站名:菜鸟教程, 地址 www.runoob.com

my_list = [‘菜鸟教程’]
my_list2 = [‘sdf’,‘dfsfs’]
print("网站名:{0}, ".format(my_list)) #如果列表参数加上,则模块索引位置可以只写{0}和{1},
#若该列表只有一个元素,则模块只需要填写该列表在参数的位置,而 该列表在参数位置上需加上*

网站名:菜鸟教程,

使用元组传参

infos = ‘钢铁侠’, 66, ‘小辣椒’
print(‘我是{},身价{}亿。’.format(*infos))
print(‘我是{2},身价{1}亿。’.format(*infos))

使用字典传参

venom = {‘name’: ‘毒液’, ‘weakness’: ‘火’}
print(‘我是{name},我怕{weakness}。’.format(**venom))

同时使用元组和字典传参

hulk = ‘绿巨人’, ‘拳头’
captain = {‘name’: ‘美国队长’, ‘weapon’: ‘盾’}
print(‘我是{}, 我怕{weapon}。’.format(*hulk, **captain))
print(‘我是{name}, 我怕{1}。’.format(*hulk, **captain))

同时使用位置参数、元组、关键字参数、字典传参

注意:

位置参数要在关键字参数前面

*元组要在**字典前面

tup = ‘鹰眼’,
dic = {‘weapon’: ‘箭’}
text = ‘我是{1},我怕{weakness}。我是{0},我用{weapon}。’
text = text.format(*tup, ‘黑寡妇’, weakness=‘男人’, **dic)
print(text)

另外
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值