购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.6 字符串插入

下面实现这样一个需求:创建一个内嵌变量的字符串,变量被其所表示的字符串替换。

Python的f前缀可以方便地格式化字符串中内嵌的变量,相关代码(insert_var.py)示例如下:


language_name = 'Python'
age = 30
test_str = f'{language_name} is {age}.'
print(test_str)

执行py文件,输出结果如下:


Python is 30.

如果要使被替换的变量能在变量域中找到,可以结合使用format_map()和vars()方法,相关代码(insert_var.py)示例如下:


print(test_str.format_map(vars()))

执行py文件,输出结果与上面一致。

vars()方法有一个有意思的特性就是,它适用于对象实例,相关代码(insert_var.py)示例如下:


class Info:
    def __init__(self, language_name, age):
        self.language_name = language_name
        self.age = age

info = Info('Python', 30)
print(test_str.format_map(vars(info)))

执行py文件,输出结果同上。

还可以使用字符串模板(insert_var.py)实现,代码如下:


import string
str_t = string.Template('$language_name is $age.')
print(str_t.substitute(vars()))

执行py文件,输出结果同上。 mG7uJ9r3lW/UPQ4KKYQekRyRtMUlbwMRA2wqD5JgmKZpd0w+rOvjhT3DymSZrUEv

点击中间区域
呼出菜单
上一章
目录
下一章
×