ITPub博客

首页 > 应用开发 > Python > 教你Python格式化字符串的3种方法

教你Python格式化字符串的3种方法

Python 作者:安全剑客 时间:2020-07-13 22:00:55 0 删除 编辑
使用Python的伙伴们,经常会用到print输出日志进行调试,那么如何格式化输出字符串?今天跟大家继续分享关于Python的小知识。
前言

使用Python的伙伴们,经常会用到print输出日志进行调试,那么如何格式化输出字符串?今天跟大家继续分享关于Python的小知识。

教你Python格式化字符串的3种方法教你Python格式化字符串的3种方法

说明

我们经常会用到%-formatting和str.format()来格式化,而在Python 3.6版本开始,增加了f-strings语法,下面我将详细的介绍这三种方式。

1. %-formatting格式化字符串

最早的格式化是用%(百分号), 它这么用:

In : name = 'World' 
In : id = '10' 
In : 'Hello %s,id=%s' %(name,id) 
Out: 'Hello World,id=10'

这里用的%s表示格式化成字符串,另外常用的是%d(十进制整数)、%f(浮点数)。

另外也支持使用字典的形式:

In : 'Hello[%(name)s],id=%(name)s' % {'id': 10, 'name': 'World'} 
Hello[World],id=10
2. str.format()格式化字符串

常规用法

In : name = 'World' 
In : 'Hello {}' %(name) 
Out: 'Hello World'

通过位置访问:

In : '{2}, {1}, {0}'.format('a', 'b', 'c') 
Out: 'c, b, a'

通过关键字访问:

In : 'Hello {name}'.format(name='testerzhang') 
Out: 'Hello testerzhang'
3. f-string格式化字符串

Python3.6 版本开始出现了此新的格式化字符串,性能又优于前面两种方式。

In : name = "testerzhang" 
In : print(f'Hello {name}.') 
In : print(f'Hello {name.upper()}.') 
Out: Hello testerzhang. 
Out: Hello TESTERZHANG. 
In : d = {'id': 1, 'name': 'testerzhang'} 
In : print(f'User[{d["id"]}]: {d["name"]}') 
Out: User[1]: testerzhang

注意:如果低于Python3.6,可以通过pip install future-fstrings即可,在相应的py 脚本文件里不需要加import这个库,但是需要头部加上# coding: future_fstrings。

结束语

因为我现在转向Python3.X版本,所以用第三种方法也是用得很频繁,不再使用第二种方式,感觉也是很不错。

原文地址: https://www.linuxprobe.com/python-format-string.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559985/viewspace-2704256/,如需转载,请注明出处,否则将追究法律责任。

全部评论

注册时间:2018-11-01

  • 博文量
    1161
  • 访问量
    735037