假如有个任务:给定一个字符串,通过查询字典,来替换给定字符中的变量。如果使用通常的方法:
在在在“这是一个% (var) s”% {“var”:“狗”} “这是一条狗” 在祝辞祝辞
<强>其实可以使用均类来实现上面的替换强>
在在在从字符串导入模板 在在在话说=模板(“这是$ var ") 在在在印刷(文字。替代({“var”:“狗”}))#通过字典的方式来传参 这是狗 在在在print (words.substitute (var="狗"))#通过关键字方式来传参 这是狗 在祝辞祝辞
在创建模板实例时,在字符串格式中,可以使用两个美元符来代替美元,还可以用${}将变量扩起来,这样的话,变量后面还可以接其他字符或数字,这个使用方式很像Shell或者Perl里面的语言。下面以信模板来示例一下:
在在在从字符串导入模板 在在在信=" "“亲爱的顾客,美元 …我希望你有一个伟大的时间! …如果您没有找到您满意的房间美元,让我们知道。 …请接受这$ 5美元优惠券。 …真诚地, …经理,美元 …${名称}客栈”“” 在在在模板=模板(信) 在在在letter_dict={“名称”:“困”,“客户”:“弗雷德·史密斯”,“经理”:“汤姆·史密斯”,“房间”:308} 在在在print (template.substitute (letter_dict)) 亲爱的弗雷德·史密斯, 我希望你有一个伟大的时间! 如果您没有找到您满意的308房间,让我们知道。 请接受这5美元优惠券。 真诚地, 汤姆?史密斯 SleepyInn 在祝辞祝辞
有时候,为了给替代准备一个字典做参数,最简单的方法是设定一些本地变量,然后将这些变量交给当地()(此函数创建一个字典,字典中关键的就是本地变量,本地变量的值通过关键来访问)。
在在在当地人()#刚进入时,没有其他变量 {“__builtins__”: & lt;模块“__builtin__”(内置)祝辞,“__name__”:“__main__”,“__doc__”:没有,“__package__”:没有} 在在在name="爱丽丝" #创建本地变量的名字 在在在年龄=18 #创建本地变量的年龄 在在在当地人()#再执行当地人()函数就可以看到名字,年龄的键值队 {“名称”:“爱丽丝”,“__builtins__”: & lt;模块“__builtin__”(内置)祝辞,“年龄”:18日“__package__”:没有,“__name__”:“__mai __”、“__doc__”:没有} 在在在当地人()(“名字”)#通过键名字来获取值 “爱丽丝” 在在在当地人()(“年龄”)#通过键来岁获取值 18 在祝辞祝辞
<强>有了上面的例子打底来看一个示例:强>
在在在从字符串导入模板 在在在味精=模板(“数美元的平方广场”) 在在在数字的范围(10): …平方=*数字 …打印msg.substitute(当地人()) … 0=0的平方 1=1的平方 2的平方是4 3的平方是9
另外一种方法是使用关键字参数语法而非字典,直接将值传递给替代。
在在在从字符串导入模板 在在在味精=模板(“数美元的平方广场”) 在在在因为我在范围(4): …打印味精。替代(数量=我平方=我*) … 0=0的平方 1=1的平方 2的平方是4 3的平方等于9 在祝辞祝辞
甚至可以同时传递字典和关键字
在在在从字符串导入模板 在在在味精=模板(“数美元的平方广场”) 在在在数字的范围(4): …打印msg.substitute(当地人()平方=数量*号) … 0=0的平方 1=1的平方 2的平方是4 3的平方等于9 在祝辞祝辞
为了防止字典的条目和关键字参数显示传递的值发生冲突,关键字参数优先,比如:
在在在从字符串导入模板 在在在味精=模板(“这是adj味精美元”) 在在在disorderly=坝腥ぁ? 在在在打印(msg.substitute(当地人()、味精=跋ⅰ?) 它是有趣的消息 >之前以上这篇在Python中实现替换字符串中的子串的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
在Python中实现替换字符串中的子串的示例