Python代码中字符串后括号前的%运算符作用是什么
Python中字符串格式化
%运算符的用途 你示例代码里括号前的%是Python的旧式字符串格式化运算符,功能是完成占位符和实际值的匹配替换,属于Python从C语言printf语法借鉴来的格式化写法,在Python2版本中非常常用。
对应你给出的代码逐部分拆解:
print "My name is %s and weight is %d kg!" % ('Zara', 21)
- 运算符左侧是带格式化占位符的模板字符串:
%s是字符串占位符,标记这个位置要填入字符串类型的内容%d是十进制整数占位符,标记这个位置要填入整数类型的内容
- 运算符右侧是存实际填入值的元组,元组里的值顺序和模板里的占位符顺序一一对应
- 中间的
%会自动按顺序把右侧的值填入左侧模板的对应位置,同时做简单的类型校验,替换完成后生成完整的目标字符串,最终print输出的结果为:My name is Zara and weight is 21 kg!
补充说明:这种%格式化写法现在已经不是官方推荐的首选方案,Python3版本中更建议使用f-string或者str.format()方法做字符串格式化,但在旧教程、历史项目代码里仍然会频繁出现这种写法。
内容的提问来源于stack exchange,提问作者Laura Tiemi
相关产品推荐
相关产品推荐

