How can you use a variable name inside a Python format specifier(如何在 Python 格式说明符中使用变量名)
问题描述
Is it possible to use a variable inside of a Python string formatting specifier?
I have tried:
display_width = 50
print('
{:^display_width}'.format('some text here'))
but get a ValueError: Invalid format specifier. I have also tried display_width = str(50)
however, just entering print('
{:^50}'.format('some text here')) works just fine.
Yes, but you have to pass them in as arguments to format, and then refer to them wrapped in {} like you would the argument name itself:
print('
{:^{display_width}}'.format('some text here', display_width=display_width))
Or shorter but a little less explicit:
print('
{:^{}}'.format('some text here', display_width))
Since this question was originally posted, Python 3.6 has added f-strings, which allow you to do this without using the format method and it uses variables which are in scope rather than having to pass in the named variables as keyword arguments:
display_width = 50
text = 'some text here'
print(f'
{text:^{display_width}}')
这篇关于如何在 Python 格式说明符中使用变量名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Python 格式说明符中使用变量名
基础教程推荐
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
