Python如何对齐字符串


Posted in Python onJuly 30, 2020

问题

你想通过某种对齐方式来格式化字符串

解决方案

对于基本的字符串对齐操作,可以使用字符串的 ljust() , rjust() center() 方法。比如:

>>> text = 'Hello World'
>>> text.ljust(20)
'Hello World     '
>>> text.rjust(20)
'     Hello World'
>>> text.center(20)
'  Hello World   '
>>>

所有这些方法都能接受一个可选的填充字符。比如:

>>> text.rjust(20,'=')
'=========Hello World'
>>> text.center(20,'*')
'****Hello World*****'
>>>

函数 format() 同样可以用来很容易的对齐字符串。 你要做的就是使用 <,> 或者 ^ 字符后面紧跟一个指定的宽度。比如:

>>> format(text, '>20')
'     Hello World'
>>> format(text, '<20')
'Hello World     '
>>> format(text, '^20')
'  Hello World   '
>>>

如果你想指定一个非空格的填充字符,将它写到对齐字符的前面即可:

>>> format(text, '=>20s')
'=========Hello World'
>>> format(text, '*^20s')
'****Hello World*****'
>>>

当格式化多个值的时候,这些格式代码也可以被用在 format() 方法中。比如:

>>> '{:>10s} {:>10s}'.format('Hello', 'World')
'   Hello   World'
>>>

format() 函数的一个好处是它不仅适用于字符串。它可以用来格式化任何值,使得它非常的通用。 比如,你可以用它来格式化数字:

>>> x = 1.2345
>>> format(x, '>10')
'  1.2345'
>>> format(x, '^10.2f')
'  1.23  '
>>>

讨论

在老的代码中,你经常会看到被用来格式化文本的 % 操作符。比如:

>>> '%-20s' % text
'Hello World     '
>>> '%20s' % text
'     Hello World'
>>>

但是,在新版本代码中,你应该优先选择 format() 函数或者方法。 format() 要比 % 操作符的功能更为强大。 并且 format() 也比使用 ljust() , rjust() center() 方法更通用, 因为它可以用来格式化任意对象,而不仅仅是字符串。

如果想要完全了解 format() 函数的有用特性, 请参考 在线Python文档

以上就是Python如何对齐字符串的详细内容,更多关于Python对齐字符串的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python中实现php的var_dump函数功能
Jan 21 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
Python冲顶大会 快来答题!
Jan 17 Python
Python 中Pickle库的使用详解
Feb 24 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
Python 切分数组实例解析
Nov 07 Python
python 调用Google翻译接口的方法
Dec 09 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
PyTorch的Debug指南
May 07 Python
Python3爬虫关于代理池的维护详解
Jul 30 #Python
Python读写压缩文件的方法
Jul 30 #Python
Python3爬虫里关于代理的设置总结
Jul 30 #Python
Python 如何创建一个简单的REST接口
Jul 30 #Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 #Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 #Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 #Python
You might like
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
PHP多文件上传类实例
2015/03/07 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
python 控制语句
2011/11/03 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
解决python删除文件的权限错误问题
2018/04/24 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
外企测试工程师面试题
2015/02/01 面试题
面向对象设计的原则是什么
2013/02/13 面试题
巾帼志愿者活动方案
2014/08/17 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
前台接待员岗位职责
2015/04/15 职场文书