最近研究python字符串的处理,发现一个有意思的地方,字符串函数在处理字符串时是从右向左执行的,如下实验可以证明这点:
1、首先,我们定义一个字符串,包含一个换行符
>>> a = 'abcdefg\n'
>>> len(a)
8
2、定义变量b,首先验证下函数strip(),可以将a中的换行去掉
>>> b = a.strip()
>>> b
'abcdefg'
>>> a
'abcdefg\n'
3、此时我们再定义一个变量c,测试当对a使用函数或者截取字符串时,是从右往左执行的
如下代码所示,如果执行顺序为自左向右,则c的值应该为 'abcdef',但是此时c为 'abcdefg',足有证明其执行顺序为自右向左
>>> c = a.strip()[0:len(a)-1]
>>> c
'abcdefg'
>>> a
'abcdefg\n'
4、我们也可以通过以下实验来证明
此时定义变量d,如果先执行[0:6],那么再执行[0:7],时明显会报错
>>> d = a[0:6][0:7]
>>> d
'abcdef'
>>> a[0:7]
'abcdefg'
以上即为今天的小小总结,分享给大家