python中如何混合命名占位符和匿名占位符?def do():val %(name)s %(a)s % ({name:limodou,a
python中如何混合命名占位符和匿名占位符?
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
[解决办法]
'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
在Python3.x中,%格式符已经取消,统一使用format函数进行格式化,这样更合理,也更可控。
[解决办法]
全部用字典,或者全部用列表把。混合的就算行,可读性也不好把
[解决办法]
- 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=utf8fmt_str = "{0} {1} {name} {2} {age}".format("welcome", "boy!", "...", name = "owen", age = 18)print(fmt_str)
[解决办法]
我推荐学python的同学桌面上常开着python manual, 学脚本就是多查多总结, 不需要问. 