Python 3中的字符串格式

Python 3中的字符串格式,第1张

Python 3中的字符串格式

这是有关“新”格式语法的文档。一个例子是:

"({:d} goals, ${:d})".format(self.goals, self.penalties)

如果

goals
penalties
均为整数(即​​默认格式为ok),则可以将其缩短为:

"({} goals, ${})".format(self.goals, self.penalties)

并且由于参数是的字段

self
,所以还有一种使用单个参数两次的方法(如@Burhan Khalid在评论中指出的那样):

"({0.goals} goals, ${0.penalties})".format(self)

说明:

  • {}
    表示仅下一个位置参数,采用默认格式;
  • {0}
    表示带有index的参数
    0
    ,默认格式;
  • {:d}
    是下一个位置参数,采用十进制整数格式;
  • {0:d}
    是带有index的参数
    0
    ,十进制整数格式。

选择参数时,您可以执行许多其他 *** 作(使用命名参数而不是位置参数,访问字段等),还有许多格式选项(填充数字,使用千位分隔符,是否显示符号等)。其他一些例子:

"({goals} goals, ${penalties})".format(goals=2, penalties=4)"({goals} goals, ${penalties})".format(**self.__dict__)"first goal: {0.goal_list[0]}".format(self)"second goal: {.goal_list[1]}".format(self)"conversion rate: {:.2f}".format(self.goals / self.shots) # '0.20'"conversion rate: {:.2%}".format(self.goals / self.shots) # '20.45%'"conversion rate: {:.0%}".format(self.goals / self.shots) # '20%'"self: {!s}".format(self) # 'Player: Bob'"self: {!r}".format(self) # '<__main__.Player instance at 0x00BF7260>'"games: {:>3}".format(player1.games)  # 'games: 123'"games: {:>3}".format(player2.games)  # 'games:   4'"games: {:0>3}".format(player2.games) # 'games: 004'

注意: 正如其他人指出的那样,新格式并不能取代前一种格式,这两种格式都可以在Python 3和更高版本的Python
2中使用。有人可能会说这是优先考虑的问题,但是恕我直言,较新的版本比旧的版本更具表现力,并且在编写新代码时应使用(当然,除非它针对较旧的环境)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存