Python变量赋值时行尾的反斜杠\有什么作用?
Python代码行尾反斜杠的作用说明
这里的反斜杠是Python的显式行连接符,作用是告知Python解释器,当前行的语句并未结束,下一行的内容和当前行属于同一条逻辑语句。
你给出的代码片段里,带反斜杠的两行其实是一条完整的赋值语句,只是因为长度太长被拆成了两行书写:
df_rgb2['total_sign_comment_ratio'] = \ df_rgb2['total_sign_comment_ratio'].replace([np.inf, -np.inf], total_sign_comment_ratio_max*1.5) # 完全等价于写在同一行的语句: # df_rgb2['total_sign_comment_ratio'] = df_rgb2['total_sign_comment_ratio'].replace([np.inf, -np.inf], total_sign_comment_ratio_max*1.5)
为什么你测试加不加反斜杠结果一致
正常情况下如果直接去掉反斜杠,单独一行df_rgb2['total_sign_comment_ratio'] = 属于不完整的赋值语句,运行会直接报语法错误。你测试无差异大概率是两种情况:
- 你测试时直接把两行内容合并成了单行书写,自然不需要行连接符
- 你在拆分语句时用括号包裹了右侧表达式,Python支持括号(包括小括号、中括号、大括号)内部的隐式行连接,不需要额外加反斜杠也能正常识别多行内容为同一条语句。
写法建议
现在Python社区更推荐用隐式行连接替代显式的反斜杠行连接,可读性更高也不容易出错,上述代码可以改成更规范的写法:
df_rgb2['total_sign_comment_ratio'] = ( df_rgb2['total_sign_comment_ratio'] .replace([np.inf, -np.inf], total_sign_comment_ratio_max * 1.5) )
内容的提问来源于stack exchange,提问作者gabe
相关产品推荐
相关产品推荐

