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()接住返回值,莫搞错了!
写到这里先结束啦,放出自己辛辛苦苦写了一下午的成果