You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python strip方法传入空字符串和空格返回结果不一致原因咨询

两段Python代码运行结果差异原因解析

核心差异来自strip()方法的入参规则不同,首先明确Python字符串内置str.strip(chars)方法的运行规则:

  • 当chars为空字符串''时,不存在需要匹配移除的字符,方法直接返回原字符串,不做任何修改
  • 当chars为非空字符串时,会将字符串内的每个字符作为移除目标,把原字符串首尾所有连续的、属于chars范围内的字符全部移除

代码1逻辑

line = '       dd--  -- '
len1 = len(line)
line2 = line.strip('')
len2 = len(line2)
print(line)
print(line2)
print(len1)
print(len2)

运行输出:

dd--  --
       dd--  --
16
16

这里strip传入了空字符串,所以line2和原字符串完全一致,长度自然都是16。


代码2逻辑

line = '       dd--  -- '
len1 = len(line)
line2 = line.strip(' ')
len2 = len(line2)
print(line)
print(line2)
print(len1)
print(len2)

运行输出:

dd--  --
dd--  --
16
8

这里strip传入的是空格字符' ',原字符串开头的7个连续空格、末尾的1个空格都会被移除,剩下的dd-- --长度刚好为8,所以输出和代码1存在明显差异。


内容的提问来源于stack exchange,提问作者Ramu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:15:02