自定义实现str的spilt方法:
- 如果切割符为默认值:字符串首尾的空白字符去掉,不参与分割,即不像指定分隔符会切割出''空字符串
- 指定切割符不能是空字符串
- 最大切割次数,默认为-1
- 切割次数为负数时,整个字符串切割
- 正数时,切割给定的次数
# 自定义实现split方法:
# 算法:
# 1. 遍历这个字符串,start=0,
# 判断当前字符以及后续的几个字符是否时sep
# 如果不是,就继续遍历,如果是,就把这个位置记录下来作为end的坐标
# 2. 基于start和end的切片,取出来内容,放到一个结果list里面去
# 3. start设定为下一个要遍历的坐标,重复上述的过程
# start=0,遍历s,找到sep的内容
# 坐标为2的时候是个空白,end=2
# s[start:end] ---> he ---> 放到一个list里面
# 继续向后遍历,找到非空白的时候,start=4
# 继续遍历,找到sep,end=6,s[start:end] ---> is放到结果list里面去
# 字符串已经到了最后end=len(s)
# 0123456789
# 'he is boy'
def split(s, sep=None, maxsplit=-1):
# s不是str类型,结束程序
if not isinstance(s, str):
return None
# (not (sep is None or isin