码迷,mamicode.com
首页 > 其他好文 > 详细

PEP 0498 -- Literal String Interpolation 翻译(未完待续)

时间:2015-09-07 00:44:30      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

在Python中支持多种的text字符串格式化。包括%方式,str.format()和string.Template.每种方法都有各自的优势,但也有在实际使用时笨重不便之处。本PEP提出一种新的字符串格式化机制: Literal String Interpolation 文本字符串插值(译注:我勒个去,我记性不好,真的只记住一种)。在本PEP中,这样的字符串被称为"f-string",为了表示这种字符串,首字符为f,表示“formatted strings”(格式化过的字符串)。

本PEP不是移除或者不再推荐使用(deprecate)任何已经存在的字符串格式化机制。


f-string提供的是使用一种最简单地语法(using a minimal syntax)将表达式嵌入字符串的一种方式(a way to embed expressions inside string literals)。注意f-string是在运行时才会被evaluated的表达式,而不是constant值。在Python源代码中, f-string就是一个带着f前缀的文本字符串,在braces 大括号中包含着表达式。这些表达式在运行时被替换为实际的值。例子:

>>> import datetime
>>> name = ‘Fred‘
>>> age = 50
>>> anniversary = datetime.date(1991, 10, 12)
>>> f‘My name is {name}, my age next year is {age+1}, my anniversary is {anniversary:%A, %B %d, %Y}.‘
‘My name is Fred, my age next year is 51, my anniversary is Saturday, October 12, 1991.‘
>>> f‘He said his name is {name!r}.‘
"He said his name is ‘Fred‘."


PEP 0498 -- Literal String Interpolation 翻译(未完待续)

标签:

原文地址:http://my.oschina.net/cppblog/blog/501934

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!