Python入门学习记录

Python   C4-3——字符替换和查找

2017-06-24  本文已影响0人  sinkpink

      又学到了关于字符的两个操作方法——relace() & find():替换和查找。跟以前字典和列表的方法操作方式类似,但可以对字符串变量直接进行操作。

    大大的源代码,用的morning,我在下午才有时间练习,所以改成了Afternoon。定义变量say;进行字符串拼接,say1;对say1进行replace操作,并将替换后的字符串赋予say1;对say1执行find操作,找出Afternoon字符串且赋值于a;将say1[a:]赋值于b。可以发现,打印时可以打印出b,打印出的是要查找的字符串,且say1[*]表示的是字符串的切分,由此可以推断上一条find方法其实找到的是对应字符串的索引,也就是a=8。真的是很神奇的事情,原来查找方法找的是索引,也就是位置。

        自己把替换的字符串稍作改变,跟原来的作对比。

1、发现打印替换的字符串变量,打印的是替换之后的变量,也就是替换是对字符串变量的永久改变。

2、replace方法时把括号中的前一个字符串替换成后一个字符串。

3、但是在查找时,按理说say1已经不存有Afternoon这个字符串,但是仍然可以按它来查找,并且找到的是jercy字符串的y字母。只要字符变量存储过相应的字符串,执行该字符串find方法时,貌似python有记忆功能,为了搞懂查找旧字符串的运作机理,又做了几个对照实验。

          对上述字符串重新操作,替换为不同长度的字符串,发现find原来字符串Afternoon时,同样的变量赋值方式,总是打印替换字符串最后一个字母。也就是说对被替换字符串进行find时,找到的是最新字符串末尾的一个索引,不论字符串长度是多少,都是最后一个索引。

      对say1的一个替换操作不赋予变量,会发现打印时出错,也就是对变量的方法操作一定要赋值于变量,否则无效。这跟字典和列表的方法操作略有不同,需要区别开来。

总结:

1、对字符串变量进行替换方法操作时,是永久改变变量且必须赋值于变量;

2、对字符串变量进行find操作时,找的其实是索引;

3、find现存字符串找出的是现存字符串的开头索引;find已被替换字符串时找出的是替换字符串的末尾字符索引。

上一篇下一篇

猜你喜欢

热点阅读