我知道这是一个非常简单的问题,但我不知道该如何使用Google。
我能怎么做
print '<a href="%s">%s</a>' % (my_url)
那my_url
要用两次?我假设我必须“命名” the %s
,然后在参数中使用字典,但是我不确定正确的语法吗?
仅供参考,我知道我可以my_url
在参数中使用两次,但这不是重点:)
在Python 2.6+和Python 3中,您可以选择使用较新的字符串格式设置方法。
print('<a href="{0}">{0}</a>'.format(my_url))
这样可以避免重复输入参数,或者
print('<a href="{url}">{url}</a>'.format(url=my_url))
如果要命名参数。
print('<a href="{}">{}</a>'.format(my_url, my_url))
这是严格的位置,只有警告:format()参数遵循Python规则,其中必须首先使用未命名的args,然后是命名参数,然后是args(类似于list或tuple的序列),然后是
kwargs(一个dict如果您知道对自己有什么好处,请使用字符串作为键)。首先通过将命名值替换为其标签来确定插值点,然后从剩下的位置进行定位。因此,您也可以这样做…
print('<a href="{not_my_url}">{}</a>'.format(my_url, my_url, not_my_url=her_url))
但这不是…
print('<a href="{not_my_url}">{}</a>'.format(my_url, not_my_url=her_url, my_url))
问题内容: 假设我有: 这将输出: 接下来,我们有: 这将输出: 是否有一些解决方法来防止发生此错误,例如: 如果keyrror:忽略,则不理会它(但要解析其他人) 比较格式字符串和可用的命名参数,如果缺少则添加 问题答案: 如果您使用的是Python 3.2+,则可以使用str.format_map()。 对于: 对于: 在Python 2.6 / 2.7中 对于: 对于:
问题内容: 在Python中,格式化字符串时,我可以按名称而不是按位置填充占位符,如下所示: 我想知道这在Java中是否可行(希望没有外部库)? 问题答案: 感谢你的帮助!利用您的所有线索,我编写了例程来完全实现我想要的功能-使用字典使用类似python的字符串格式。由于我是Java新手,因此不胜感激。
主要内容:指定最小输出宽度,指定对齐方式,指定小数精度我们在《 第一个Python程序——在屏幕上输出文本》中讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。 熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的。 print() 函数使用以 开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。
Parameter Position参数位置 Type参数类型 Required必需 Default默认 Description描述 1 string Yes n/a This is what format to use. (sprintf) 使用的格式化方式 This is a way to format strings, such as decimal numbers and such. Us
Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。 package main import "fmt" import "os" type point struct { x, y int } func main() { // Go提供了几种打印格式,用来格式化一般的Go值,例如 // 下面的%v打印了一个point结构体的对象的值 p := p
3.5. 格式化字符串 Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式, 但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。 在 Python 中, 字符串格式化使用与 C 中 sprintf 函数一样的语法。 例 3.21. 字符串的格式化 >>> k = "uid" >>> v = "sa" >>> "%s=%s" % (k, v) 'uid=s