formatbuiltins中的函数似乎是str.format专门用于格式化单个对象的方法的子集.
例如.
>>> format(13, 'x')
'd'
Run Code Online (Sandbox Code Playgroud)
显然更喜欢
>>> '{0:x}'.format(13)
'd'
Run Code Online (Sandbox Code Playgroud)
和IMO它确实看起来更好,但为什么不只是str.format在每种情况下使用,以使事情更简单?这两个都是介绍的,2.6所以必须有一个很好的理由同时拥有它们,它是什么?
编辑:我是问str.format及format,不是我们没有(13).format
在同一主题上也提出了类似的问题(在那里进行了良好的速度比较).希望这个问题不同,并更新到Python 2.6和3.0.
到目前为止,我认为更快,最兼容的方法(在不同的Python版本中)是简单的简单+符号:
text = "whatever" + " you " + SAY
Run Code Online (Sandbox Code Playgroud)
但我一直听到并且阅读它并不安全和/或可取.
我甚至不确定有多少方法可以操纵字符串!我能数只有约4:有插值及其所有子选项,如%和format,然后有简单的,join和+.
最后,新的方法,以字符串格式化,这与format,肯定是不好的在同一时间向后兼容性使得%向前兼容性不好.但是,每当我们将自己限制在3.x时,它是否应该用于每个字符串操作,包括每个连接?
好吧,也许这更像是一个维基而不是一个问题,但我确实希望得到一个答案,即每个字符串操作方法的正确用法.哪一个可以通常用于每个焦点(最好的兼容性,速度和安全性).
谢谢.
编辑:我不确定我是否应该接受答案,如果我觉得它没有真正回答这个问题......但我的观点是,他们所有人都在一起做了一份正确的工作.
丹尼尔投票最多的答案实际上是我更愿意接受的答案,如果不是"笔记"的话.我非常不同意"连接是严格使用+运算符来连接字符串",因为,对于一个,join也会进行字符串连接,我们可以为此构建任意库.
目前所有3个答案都是有价值的,我宁愿将一些答案混合在一起.虽然没有人自愿这样做,但我想通过选择较少投票的人(但比THC4k更广泛,这更像是一个大而且非常受欢迎的评论)我也可以引起对其他人的关注.
我看到你们正在使用
url = '"%s"' % url # This part
>>> url = "http://www.site.com/info.xx"
>>> print url
http://www.site.com/info.xx
>>> url = '"%s"' % url
>>> print url
"http://www.site.com/info.xx"
Run Code Online (Sandbox Code Playgroud)
它是高级Python吗?有没有它的教程?我该如何了解它?
这是我的代码:
def naame(value, suit):
if suit == ("D"):
suit == ("Dimnd")
return (value + " of " +suit)
Run Code Online (Sandbox Code Playgroud)
所以我认为问题出在哪里,当我也添加“+”时......但我仍然不知道如何去做......
我在 python 方面还是很新的。请帮我