社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python format_spec语法[[填充]对齐]

JoePythonKing • 5 年前 • 1396 次点击  

这([[fill]align])语法是什么意思?

从格式规范mini语言 https://docs.python.org/2/library/string.html#format-specification-mini-language

这是否意味着如果你有一个填充,那么你必须有一个对齐?

我在努力-

In [71]: '{:{}{}}'.format('test','.','10')
Out[72]: 'test'

我认为它有一个填充(字符)'和宽度('10')。我用的是Python3.6.3。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50527
 
1396 次点击  
文章 [ 2 ]  |  最新文章 5 年前
user2357112 supports Monica
Reply   •   1 楼
user2357112 supports Monica    6 年前

是的,如果你有一个填充,你必须有一个对齐。这个 . 在您的测试中不被视为填充,因为您缺少一个对齐;而是 .10 被解析为 10 指定 精度 价值。见 [.precision] format spec syntax :

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]
                                                    ^^^^^^^^^^^^

对于字符串,精度值10将把字符串截断为10个字符:

>>> '{:{}{}}'.format('123456789012345','.','10')
'1234567890'

如果你有一个对齐,那么 . 将被视为填充物:

>>> '{:{}>{}}'.format('test','.','10')
'......test'
tmcnicol
Reply   •   2 楼
tmcnicol    6 年前

我想也许你想看看这些例子 here .

填充字符和对齐参数作为字符串的一部分进入。例如

In [56]: '{:.<10}'.format('test')
Out[56]: 'test......'

In [57]: '{:.>10}'.format('test')
Out[57]: '......test'

如果你想动态生成格式字符串,你可以这样做,

In [76]: '{:{}<{}}'.format('test','.','10')
Out[76]: 'test......'