Python - 格式化字符串的用法
0. 摘要
Python支持多种格式化字符串的方法,包括%-fromatting、str.format()、f-strings三种,f-strings是Python3.6以后出现的一种新方法,相比其他方法,更简洁、易读、速度快。
1. %-formatting
%格式化字符串是Python中比较老的一种用法。
例1:只有一个变量格式化输出
>>> name = 'Jack'
>>> 'Hello, %s.' % name
'Hello, Jack.'
例2:有多个变量需要替换时,使用这些变量的元祖。
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm %s, %d years old." % (name, age)
"Hello, I'm Jack, 20 years old."
2. str.format()
在Python2.6中引入了更新的格式化方式str.format()
例1:需替换的字段用{}标记
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm {}, {} years old.".format(name, age)
"Hello, I'm Jack, 20 years old."
例2:使用索引引用变量,这样变量和替换的标记就不必一一对应。
>>> name = 'Jack'
>>> age = 20
>>> language = 'Python'
>>> "Hello, I'm {0}, {1} years old. My name is {0}".format(name, age)
"Hello, I'm Jack, 20 years old. My name is Jack"
例3:使用名称引用变量替换
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm {na}, {ag} years old. My name is {na}".format(na=name, ag=age)
"Hello, I'm Jack, 20 years old. My name is Jack"
3. f-strings
Python3.6中使用了一种更加简洁明了的格式化方法,该方法允许在字符串中嵌入变量、表达式。该方法使用格式: f"string"
例1:
>>> name = 'Jack'
>>> age = 20
>>> f"Hello, I'm {name}, {age} years old."
"Hello, I'm Jack, 20 years old."
例2:使用任意表达式
>>> f"{20*5}"
''
例3:调用函数
>>> name = "Jack"
>>> f"Hello, I'm {name.lower()}"
"Hello, I'm jack"
例4:多行文本
>>> f"""
... I'm {name},
... I'm {age} years old.
... """
"\nI'm Jack,\nI'm 20 years old.\n"
参考文档:
[博客] python3 f-string格式化字符串的高级用法(中文)
[官方文档] PEP 498 -- Literal String Interpolation(英文)
[博客] Python String Formatting Best Practices(英文)
Python - 格式化字符串的用法的更多相关文章
- Python中用format函数格式化字符串的用法
这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下 自python2. ...
- Python格式化字符串知多少
字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(%) 替换.如一句问候语: ...
- Python格式化字符串~转
Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...
- Python格式化字符串和转义字符
地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义 符 号 说 明 ...
- 【python】format函数格式化字符串的用法
来源:http://www.jb51.net/article/63672.htm 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式 ...
- Python格式化字符串
在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...
- Python格式化字符串--format
format格式化字符串方法相较于老版%格式方法的优点: 1.不需要理会数据类型的问题,在%方法中'%s'只能替代字符串类型. 2.单个参数可以多次输出,参数顺序可以不相同. 3.填充方式十分灵活,对 ...
- 【转】Python格式化字符串str.format()
原文地址:http://blog.xiayf.cn/2013/01/26/python-string-format/ 每次使用Python的格式字符串(string formatter),2.7及以上 ...
- 18.Python格式化字符串(格式化输出)
Python 提供了“%”对各种类型的数据进行格式化输出,例如如下代码: price = 108 print ("the book's price is %s" % price) ...
随机推荐
- MySQL · 关系模型的基本术语
关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段/分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:关系的描述,表示为: ...
- hdu 1023 卡特兰数《 大数》java
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 湘潭校赛 Hard Wuxing
Hard Wuxing Accepted : 13 Submit : 166 Time Limit : 1000 MS Memory Limit : 65536 KB 题目描述 “五行”是中国 ...
- 二进制GCD算法 减少%的时间消耗
/* 二进制求最大公约数.由于传统的GCD,使用了%,在计算机运行过程中要花费大量的时间,所以,采取二进制的求法,来减少时间的消耗. 算法: 当a,b都是偶数时: gcd(a,b)=2*gcd(a/2 ...
- HTML5 number类型文本框step属性的验证机制——张鑫旭
我在下一盘很大的棋,本文只是其中的一个棋子. 需要提前知道的: 目前而言,对step雄起的浏览器为IE10+, Chrome以及Opera浏览器. 需要预先知道number类型input的一些基本知识 ...
- 浅谈脚本化css(一)
读写css属性 每一个dom元素都有一个属性style,dom.style里面存放的这个元素的行间样式,我们可以通过这个属性来读写元素的行间样式. 注意: 1.我们碰到float这样的关键字属性的时候 ...
- 使用AJAX实现分页
Fenye.html <!DOCTYPE html> <html> <head> <title>分页</title> </head&g ...
- vue 面试时需要准备的知识点
前端火热的框架层出不穷,作为码农的我们,依旧需要去学习,去探索新的问题,学习新技术,其实就是为了写一手好的,自认为是高质量的代码.今天主要分享一下前端最火的框架vue,也是我比较喜欢的框架. vue上 ...
- ubuntu命令行编译opencv c++项目
ubuntu终端编译opencv c++项目: g++ test.cpp `pkg-config opencv --libs --cflags opencv` -o test
- CVE-2017-17215 - 华为HG532命令注入漏洞分析
前言 前面几天国外有个公司发布了该漏洞的详情.入手的二手 hg532 到货了,分析测试一下. 固件地址:https://ia601506.us.archive.org/22/items/RouterH ...