学习pickling时遇到的Python print语句%s" %是什么含义?
Python中
%s搭配%运算符的语法含义 这是Python内置的旧式printf风格字符串格式化语法,核心作用是将指定值按规则填充到字符串的预留位置中,具体拆分规则如下:
%s是字符串类型占位符:会在当前字符串的对应位置预留填充位,接收后续传入的值,即便传入的不是字符串类型数据,也会自动调用str()方法转为字符串后再填充。- 单独的
%是格式化运算符:用来连接左侧包含占位符的字符串、和右侧要填充的具体值,多个填充值需要用括号包裹成元组按占位符顺序传入,单个填充值可以省略括号。
代码示例
# 单个占位符用法 obj_name = "测试序列化对象" print("当前处理的对象为:%s" % obj_name) # 输出:当前处理的对象为:测试序列化对象 # 多个占位符用法 pickle_file = "data.pkl" file_size = 128 print("序列化文件%s写入完成,大小为%sKB" % (pickle_file, file_size)) # 输出:序列化文件data.pkl写入完成,大小为128KB
补充说明
目前Python更推荐使用f-string(Python 3.6+支持)、str.format()方法实现字符串格式化,可读性和灵活性更高,但大量旧代码(尤其是Python 2时期的pickle相关教程代码)仍然会沿用这种旧式语法。
内容的提问来源于stack exchange,提问作者SYT
相关产品推荐
相关产品推荐

