首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 3中的字符串格式

Python 3中的字符串格式
EN

Stack Overflow用户
提问于 2012-12-19 12:53:32
回答 3查看 112.3K关注 0票数 115

我在Python 2中做到了这一点:

代码语言:javascript
复制
"(%d goals, $%d)" % (self.goals, self.penalties)

它的Python 3版本是什么?

我试着在网上搜索示例,但一直得到Python2的版本。

EN

回答 3

Stack Overflow用户

发布于 2016-12-27 06:00:05

Python3.6现在支持使用PEP 498的速记文字字符串插值。对于您的用例,新的语法很简单:

代码语言:javascript
复制
f"({self.goals} goals, ${self.penalties})"

这类似于以前的.format标准,但是让我们可以轻松地使用like

代码语言:javascript
复制
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal('12.34567')
>>> f'result: {value:{width}.{precision}}'
'result:      12.35'
票数 68
EN

Stack Overflow用户

发布于 2012-12-19 12:55:21

这一行在Python3中按原样工作。

代码语言:javascript
复制
>>> sys.version
'3.2 (r32:88445, Oct 20 2012, 14:09:29) \n[GCC 4.5.2]'
>>> "(%d goals, $%d)" % (self.goals, self.penalties)
'(1 goals, $2)'
票数 12
EN

Stack Overflow用户

发布于 2018-03-19 10:17:51

我喜欢这种方法

代码语言:javascript
复制
my_hash = {}
my_hash["goals"] = 3 #to show number
my_hash["penalties"] = "5" #to show string
print("I scored %(goals)d goals and took %(penalties)s penalties" % my_hash)

注意括号后面分别附加的d和s。

输出将为:

代码语言:javascript
复制
I scored 3 goals and took 5 penalties
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13945749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档