暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python 基础知识整理 - 输入和输出(2)

数据库杂货铺 2021-12-15
406

字符串 format() 方法

 

str.format() 方法的基本用法如下所示:

 

print('今天{},明天"{}!"'.format('星期一', '星期二'))
复制

 

运行结果:

 

今天星期一,明天"星期二!"
复制

 

括号和其中的字符(称为格式字段)将替换为传递到 str.format() 方法中的对象。括号中的数字可以用来表示传递到 str.format() 方法中的对象的位置。

 

print('{0} 和 {1}'.format('老大', '老二'))
print('{1} 和 {0}'.format('老二', '老大'))
复制

 

运行结果:

 

老大 和 老二
老大 和 老二
复制

 

如果在 str.format() 方法中使用关键字参数,则使用参数名称引用它们的值。

 

print('{numbertwo} 是 {numberone} 的兄弟'.format(numberone='老大', numbertwo='老二'))
复制

 

运行结果:

 

老二 是 老大 的兄弟
复制

 

位置参数和关键字参数可以任意组合:

 

print('{0}、{1}和{numberthree}桃园三结义。'.format('刘备', '关羽',numberthree='张飞'))
复制

 

运行结果:

 

刘备、关羽和张飞桃园三结义。
复制

 

如果有一个非常长的格式字符串,但不想拆分它,那么如果可以按名称而不是按位置引用要进行格式设置的变量,那就太好了。这可以通过传递一个字典,并使用方括号 '[]' 访问字典的键来实现。

 

herolist = {'吕布': 1399999999, '赵云': 1388888888, '典韦': 1366666666}
print('吕布: {0[吕布]:d}; 赵云: {0[赵云]:d}; 典韦: {0[典韦]:d}'.format(herolist))
复制

 

运行结果:

 

吕布: 1399999999; 赵云: 1388888888; 典韦: 1366666666
复制

 

这也可以通过将 herolist 作为带有 ** 符号的关键字参数传递来实现。

 

herolist = {'吕布': 1399999999, '赵云': 1388888888, '典韦': 1366666666}
print('吕布: {吕布:d}; 赵云: {赵云:d}; 典韦: {典韦:d}'.format(**herolist))
复制

 

运行结果:

 

吕布: 1399999999; 赵云: 1388888888; 典韦: 1366666666
复制

 

这在与内置函数 vars() 结合使用时特别有用,该函数返回一个包含所有局部变量的字典。

 

tiger = '吕布'
dragon = '诸葛亮'
mydict = vars()


print(mydict)
复制

 

 

 

官方文档:

https://docs.python.org/3.9/tutorial/inputoutput.html

 


文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论