python占位符使用教程
的有关信息介绍如下:今天小编给大家带来的是python占位符使用教程,希望能帮助到大家!
这是字符串自身携带的方法,非常高效,并且容易理解,建议作为首选,实现方式如下:# 将函数参数转换为字典def format(**args): tmpl = 'My name is {username}, age is {age}!' # 将字典转换为函数参数格式 return tmpl.format(**args)。# 测试yiifaa = {'username' : 'yiifaa', 'age' : 32}# 注意调用方式,将字典转换为函数参数print(format(**yiifaa))# 等价的参数调用方式print(format(username='yiifaa', age=32))。
# 格式化字典,0代表参数顺序'My name is {0[username]}, age is {0[age]}!'.format({'username':'yiifaa', 'age' : 32})# 注意!r的用法,会直接输出字符串格式,携带单引号'My name is {0[username]!r}, age is {0[age]}!'.format({'username':'yiifaa', 'age' : 32})# 按参数顺序进行格式化'My name is {0}, age is {1}!'.format('yiifaa', 32)# 格式化元组'My name is {0}, age is {1}!'.format(*['yiifaa', 32])。在上面的例子中,请密切注意“!r“的用法,输出的内容会携带字符串类型,如果携带单引号的话,还会自动进行转义,如下:
'My name is {0!r}, age is {1}!'.format(*["'yiifaa", 32])# 输出结果为# 'My name is "\'yiifaa", age is 32!'
2. %格式化方法:这类似于打印输出,结合str方法,也可以将输出转换为字符串,如下:def format(**args): tmpl = 'My name is %(username)s, age is %(age)d!' # tmpl = 'My name is %(username), age is %(age)!' return str(tmpl % args)。
3. string.Template方法:严格来说,string都是要被废弃的模块,里面提供的方法几乎没有利用价值,但是Template又让string模块成为了鸡肋,使用方式如下:def format(**args): tmpl = 'My name is ${username}, age is ${age}!' # 强烈建议使用 return Template(tmpl).safe_substitute(args) #return Template(tmpl).substitute(args)。
Template一共提供了两种方法实现插值替换,其中substitute方法与前两种方法一样,如果缺少键值内容的话,都会报错,但是safe_substitute能自动处理键值缺少情况,如传递的参数为(username=’yiifaa’),忽略age键值,那么substitute方法会直接报错,但safe_substitute会自动忽略age键值。