Python

Python,第1张

Python

第一个问题

... .format
在许多方面似乎都更加复杂。一个令人烦恼的事情
%
是它如何可以接受变量或元组。你会认为以下各项将始终有效:

"hi there %s" % name

但是,如果name碰巧(

1, 2, 3
),它将抛出一个
TypeError
。为了确保它始终打印,你需要执行

"hi there %s" % (name,)   # supply the single argument as a single-item tuple

真丑。.format没有那些问题。同样在你给出的第二个示例中,该.format示例看起来更加简洁。

为什么不使用它?

  • 不知道(我在阅读本文之前)
  • 必须与Python 2.5兼容

第二个问题,字符串格式化与其他任何 *** 作都同时发生-计算字符串格式化表达式时。而且,Python并不是一种惰性语言,它会在调用函数之前先对表达式求值,因此在你的

log.debug
示例中,表达式
"some debug info: %s"%some_info
首先求值为
"some debug info: roflcopters are active"
,然后将该字符串传递给log.debug()。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存