这是学习笔记的第43篇文章
上一篇分享主要讲了列表、元组,为什么又要返回来讲字符串呢?因为通过类比列表和元组,学习字符串、序列就会简单很多呀!
而且字符串、列表、元组有很多共同的地方,这大概也和马大师所说"接、化、发"有着一样的理念。
![eaa5f6dba6ae0ee32b3373461f419ed9.gif](https://i-blog.csdnimg.cn/blog_migrate/214b53c5281b6fb7931bc265afdc5d9d.gif)
学了Python这么久,我算是参透了吗?
回归主题。
本文大纲
1 字符串
2 序列
01 字符串
1.1 常用命令
![a180838b82590c054fa8231225daf08d.png](https://i-blog.csdnimg.cn/blog_migrate/e2786832937d6cbda13898cdaa283676.jpeg)
![42efd7914b46bd4a9c76a98650895856.png](https://i-blog.csdnimg.cn/blog_migrate/5914345915ebc35fc6dc187ddea72371.jpeg)
![4be837160ba1fbb607f9ba14357905ab.png](https://i-blog.csdnimg.cn/blog_migrate/f3720daeeb49e9d46ad793409623cb7e.jpeg)
![efd98fc69cc93dd458e0efca62242927.png](https://i-blog.csdnimg.cn/blog_migrate/35b928f674382743147827e9ad2d00f5.jpeg)
1.2 格式化
1.2.1 format方法
通过format方式进行格式化字符串,需要用到大括号。
1) 位置参数方式
![56f57ffec60d71bd9c6d806dd60ba946.png](https://i-blog.csdnimg.cn/blog_migrate/d41dd91a0ac3d31fd6c66b541838f40d.jpeg)
2) 关键参数方式
![adc4863bb4252d7a0e71c2b2713962b6.png](https://i-blog.csdnimg.cn/blog_migrate/91a49b4f805a12be1a125bb593f8ff95.jpeg)
3) 混合位置参数和关键参数方式
![557387f58c42c80dbfb6b5fd222ea384.png](https://i-blog.csdnimg.cn/blog_migrate/ca748caf129befdc7c7e74022c7f260a.jpeg)
位置参数必须在关键参数之前,否则会报错。
![acee352d8e39a003838b08d3a264f861.png](https://i-blog.csdnimg.cn/blog_migrate/7a751c6929df671f02c17148a79d7550.jpeg)
4) 调整小数点
![36de23b0e3484441c2c9ad987dc99be4.png](https://i-blog.csdnimg.cn/blog_migrate/720343af68d572c3e56817884872cae2.jpeg)
5) 不转义大括号
如果输出的字符串包含大括号,只需要一双大括号即可。
![2f65917cff60c91bc3da9bb9128c1813.png](https://i-blog.csdnimg.cn/blog_migrate/abc3eda6fa1676a2aa487c07dcb2a62c.jpeg)
1.2.2 %方法
当%左右均是数字的时候,则为求余数操作。
当%出现在字符串的时候,表示的是格式化字符串。
![659984133b7ea8e2ab96c52095ef92d7.png](https://i-blog.csdnimg.cn/blog_migrate/1e07bbb8644df983d9c489d4d785c537.jpeg)
![272ccc93443f666a819a1e6f5591db1f.png](https://i-blog.csdnimg.cn/blog_migrate/777ae035c1b6b0894c19af14556ce88b.jpeg)
1.2.3 转义字符
![e7268db2829d5143047626366b5572e5.png](https://i-blog.csdnimg.cn/blog_migrate/d23dfba28d31f66539f08a8181b987d8.jpeg)
![b4b96188e3b3df6d11a6283d5e31b14c.png](https://i-blog.csdnimg.cn/blog_migrate/924832bdde14e009486b47724432096e.jpeg)
以举个例子。
![567100803b1bec3a23ce45a4fc9e841d.png](https://i-blog.csdnimg.cn/blog_migrate/d0464b05d078caf2a7b135afe2bf5d9a.jpeg)
1.3 字符串内置方法
列表和元组都有各自的方法,字符串也同样有!小安Sir列出几个常用的方法。
![8336ade356ac5cfd8e067cfacdb3e9a5.png](https://i-blog.csdnimg.cn/blog_migrate/9cc006bf95f822ef6b68675be963db73.jpeg)
1) count方法
![99e66363872307377b662b0fa0f1343d.png](https://i-blog.csdnimg.cn/blog_migrate/b19831b18c9d5114b2d3994ff19ee7ed.jpeg)
2) find方法
![d8dc1e4642e5e0141b47c3af1d439261.png](https://i-blog.csdnimg.cn/blog_migrate/73ab5fe4486c0ac87278faf2869ddc11.jpeg)
3) index方法
![4ed77ceedf4836449f9f53a09168c094.png](https://i-blog.csdnimg.cn/blog_migrate/cb31f9fa02a7a1617df02c33f2510248.jpeg)
4) replace方法
![9eeddb483cdbb3de81f1224c1497f589.png](https://i-blog.csdnimg.cn/blog_migrate/6399edc761e05d3a723c7188c3915cfa.jpeg)
5) strip方法
说到去除字符串空格,就不得不说下小安Sir遇见的奇葩经历,居然有开发喜欢在SQL语句中将列的值去除空格!早干嘛去了?应用程序不能处理?尽喜欢在数据库上瞎写逻辑。
![c0ce5eae73a38ec28b8c0c719cce31b7.png](https://i-blog.csdnimg.cn/blog_migrate/b52b2ac337c5b4c921fd510bcb1429dd.jpeg)
02 序列
字符串、列表、元组有很多的共同点,比如,可以通过索引得到任意元素,默认索引值均是从0开始,支持分片方法,有很多共同的操作符,基于这些统称为序列。
2.1 list / tuple / str方法
将一个可以For循环的对象转换为列表、元组、字符串,这里就以列表为例子。
1) 创建空的字符串
![e8367176e3d9c332d024cced15f4ed08.png](https://i-blog.csdnimg.cn/blog_migrate/e8f033f969fa55888db43f267909ef0e.jpeg)
2) 将字符串的每个字符迭代放到列表中
![4baa59dbe67dedbd9a9fb3af9cc29ae8.png](https://i-blog.csdnimg.cn/blog_migrate/4368fa74b669412f1760816c384e0e66.jpeg)
3) 将元组的每个元素迭代放到列表中
![79a7d69ead3de36758c6e49fbce3138a.png](https://i-blog.csdnimg.cn/blog_migrate/d1bbbceff852a8160430cd3a8e10d4cf.jpeg)
2.2 len方法
1) 字符串长度
![89c9539a5a9c2f44b28c1325d9a96af5.png](https://i-blog.csdnimg.cn/blog_migrate/abf8a8d2eba18cc583bd82c08d66b2c7.jpeg)
2) 列表长度
![7d5331bba6ba401996a4df82c62524be.png](https://i-blog.csdnimg.cn/blog_migrate/ee3a478f16ae886d980cf2c8ae031abc.jpeg)
3) 元组长度
![014d39244a01f6a52ff06f3d07f767bb.png](https://i-blog.csdnimg.cn/blog_migrate/f0d8eafd95d3c2cdf8fd8c55814398bb.jpeg)
2.3 max / min方法
1) max值
![9ce7438847a20858d265938580abec1d.png](https://i-blog.csdnimg.cn/blog_migrate/49d441818077a9ba9be2d0d2e51909cb.jpeg)
2) min值
![a3ba81a0f53a21b7f0abdc481284bac1.png](https://i-blog.csdnimg.cn/blog_migrate/462b503113211203654faf817c5690db.jpeg)
2.4 sum方法
![42488d04ae19422af55cf99571893603.png](https://i-blog.csdnimg.cn/blog_migrate/1a816277217b563cb5b16a8d11bdaa04.jpeg)
2.5 sort / reversed方法
1) sort方法
![cbd3bde15f22100f2c6c21b31548dca3.png](https://i-blog.csdnimg.cn/blog_migrate/9b3ba54013653af97d7ebc9e6009185f.jpeg)
2) reversed方法
返回逆向序列的值,但不是列表,而是一个迭代器对象。
![90ada8b44874238499ef50a19ab7f1e1.png](https://i-blog.csdnimg.cn/blog_migrate/53db6432484f2ad5007e179d37036a72.jpeg)
2.6 enumerate方法
enumerate方法由二元组构成的一个迭代对象,每个元组是由可迭代参数的索引号及其对应的元素组成的。
![fbe8e40d4d79adb08f2a9bee8a63754f.png](https://i-blog.csdnimg.cn/blog_migrate/14598992aa7cfd770c39e9e46fe01991.jpeg)
2.7 zip方法
zip()方法用于返回由各个可迭代参数共同组成的元组。
组合1:列表在前,字符串在后
![1b8af3b7baa9c269ad59cd893bb3117d.png](https://i-blog.csdnimg.cn/blog_migrate/b8ce65f8556312be95712d7b7293b91e.jpeg)
组合2:列表在后,字符串在前
![6e32ed7fbe11054475876a8a096b741d.png](https://i-blog.csdnimg.cn/blog_migrate/0692064a3ef12101dd4fb32c322d037c.jpeg)
03 总结
字符串、列表、元组这三者都是属于For循环可迭代对象,通过上面的练习题可以得知,确实是很不同,但又有很多的共同点!
程序仅仅有循环那肯定是不行的,因此,我们需要引入调用循环的东西 —— 函数。
下一篇文章就为小伙伴们分享小安Sir的函数学习笔记,我对函数的理解,就像SQL如何优雅地关联各种表数据。你还别不信喔,函数就是这么简单。
[微信公众号:python自动化运维],关注我,优质干货,为您第一时间送达!