python strip方法的坑

1、空字符的判定

str1=’’
if str1 is None的写法是错的,正确的写法是
if str1 is ‘’

>>> str1=''
>>> str1 is None
False

吐了有木有啊~空字符居然不能用None来表示,而列表就能用None来表示,这是一点突破了我的认知的地方。
mark错误的方法

>>> str=''"
>>>str1 is None
>False

结论:"" is not None!

2、split()方法的局限

当字符串有单个空格的时候,用split方法来分割会非常方便,但是如果字符串对象有两个连续的空格时,就会产生bug:

str2='abc bcd  efg'
list1=str2.split(' ')
list1
>>>['abc', 'bcd', '', 'efg']

看到没,我真是晕了,居然会带一个空字符,所以我又调了特别久才把这个东西给研究出来.再讲一个更重要的,如果字符串开头或者结尾有空格,会导致空格对应处各生成一个空字符串!

>>> str3=' abc '
>>> list3=str3.split(' ')
>>> list3
['', 'abc', '']

3strip()方法是需要值去接住它的,包括lstrip()左侧去空格,rstrip()右侧去空格也需要返回值去接住

8废话了,直接上代码

>>> str1=" abc "
>>> str1.strip()
'abc'
>>> str2=str1.strip()
>>> str2
'abc'
>>> str1
' abc '
>>>

strip方法是不原地转换的,需要用str2=str1.strip()接住返回值,莫搞错了!
写到这里先结束啦,放出自己辛辛苦苦写了一下午的成果
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值