声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

字符串的格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值:

>>> "%(n)d %(x)s" % {"n":1,"x":"spam"}

'1 spam'

上例中,格式化字符串里(n)和(x)引用了右边字典中的键,并提取它们相应的值。生成类似HTML或XML的程序往往利用这一技术。你可以建立一个数值字典,并利用一个基于键的引用的格式化表达式一次性替换它们:

>>> reply = """  # Template with substitution targets

Greetings...

Hello %(name)s!

Your age squared is %(age)s

"""

>>> values = {'name': 'Bob','age': 40} # Build up values to substitute

>>> print(reply % values) # Perform substitutions

Greetings...

Hello Bob!

Your age squared is 40

这样的小技巧也常与内置函数vars配合使用:

>>> food = 'spam'

>>> age = 40

>>> vars()

{'food': 'spam','age': 40,...many more...}

当字典用在一个格式化操作的右边时,它会让格式化字符串通过变量名来访问变量(也就是说,通过字典中的键):

>>> "%(age)d %(food)s" % vars()

'40 spam'