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) ...
随机推荐
- Linux线程同步——条件变量
互斥锁是用来给资源上锁的,而条件变量是用来等待而不是用来上锁的. 条件变量用来自动阻塞一个线程,直到某特殊情况发生为止. 通常条件变量和互斥锁同时使用. 和条件变量使用有关的几个重要函数: int p ...
- 项目Debug版本与Release版本的区别
Debug版本:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序. Release版本:称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很 ...
- apply、call、bind有什么区别?
使用 apply var a = { name : "Cherry", func1: function () { console.log(this.name) }, func2: ...
- springboot中使用自定义的properties属性
在application.properties中添加属性ai.name=明ai.age=22ai.sex=男定义配置类如下,前缀(prefix)可自定义修改,本文为 ai.@Configuration ...
- CentOS7系列--10.1CentOS7中的GNOME桌面环境
CentOS7中的桌面环境 1. 安装GNOME桌面环境 1.1. 列出所有安装套件 [root@appclient ~]# yum groups list Loaded plugins: faste ...
- Linux之FineBI集群部署
在企业应用中,通常单个计算机的配置是有限的,而企业应用又是高并发的需求,这个时候会通过计算机集群的方式来提高并发数,从而提高整体应用服务的性能.集群是将多台计算机作为一个整体来提供相关应用的服务.Fi ...
- Linux+db2+was部署问题总结
Linux+db2+was部署问题总结 前段日子在住建部进行了Linux环境下,db2+rbp+was的部署,由于是集群,切涉及到了很多was的东西,搞了很长时间,在此做一个问题总结,供后续查询 ...
- redis 事务、Jedis事务处理流程
127.0.0.1:6379> multiOK127.0.0.1:6379> sadd myset a b cQUEUED ——>并没有执行,排队等待127.0.0.1:6379& ...
- 转 Js窗体window大小设置
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetW ...
- JVM知识(四):GC配置参数
JVM配置参数分为三类参数:跟踪参数.堆分配参数.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 跟踪参数 跟踪参数用户跟踪监控JVM,往往被开发人员用于JVM调优以及故 ...