python中如何混合命名占位符和匿名占位符?

seai 2012-09-18 04:31:04
def do():
val = '''%(name)s %(a)s''' % ({'name':'limodou','a':'123'})
return val

在上面的代码中使用两个占位符,他们都有名字。请问我能混和不带名字的占位符吗?

好比:
val = '''%(name)s %(a)s %s''' % ({'name':'limodou','a':'123'},'111111111')
但这个语法运行时报错了:TypeError: not enough arguments for format string
...全文
499 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
seai 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Python code
[liangdong@bb-browser-test00.vm.baidu.com py_project]$ python3 main.py
welcome boy! owen ... 18
[liangdong@bb-browser-test00.vm.baidu.com py_project]$ cat main.py
#python3.2
#coding=ut……
[/Quote]

这个挺好用!
qq120848369 2012-09-18
  • 打赏
  • 举报
回复
我推荐学python的同学桌面上常开着python manual, 学脚本就是多查多总结, 不需要问.
qq120848369 2012-09-18
  • 打赏
  • 举报
回复
[liangdong@bb-browser-test00.vm.baidu.com py_project]$ python3 main.py 
welcome boy! owen ... 18
[liangdong@bb-browser-test00.vm.baidu.com py_project]$ cat main.py
#python3.2
#coding=utf8

fmt_str = "{0} {1} {name} {2} {age}".format("welcome", "boy!", "...", name = "owen", age = 18)
print(fmt_str)
zengna_com 2012-09-18
  • 打赏
  • 举报
回复
全部用字典,或者全部用列表把。混合的就算行,可读性也不好把
seai 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')


在Python3.x中,%格式符已经取消,统一使用format函数进行格式化,这样更合理,也更可控。
[/Quote]

兄弟,先不说合理性的问题,帮我想想最初的问题:匿名和命名占位符可以混合使用吗?怎样混合?
qq120848369 2012-09-18
  • 打赏
  • 举报
回复
'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')


在Python3.x中,%格式符已经取消,统一使用format函数进行格式化,这样更合理,也更可控。

37,735

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧