05 | 深入浅出字符串
该思维导图由 AI 生成,仅供参考
字符串基础
- 深入了解
- 翻译
- 解释
- 总结
本文深入浅出地介绍了Python中字符串的基础知识和常用操作。首先,文章从字符串的定义和表示方式入手,详细介绍了单引号、双引号和三引号字符串的使用方法,以及转义字符的应用。接着,文章讲解了字符串的常用操作,包括索引、切片、遍历以及字符串的不可变性。此外,还介绍了字符串拼接的方法,包括加法操作符和join函数的使用,以及字符串的分割函数split()。最后,文章提到了一些其他常用的字符串操作,如去除首尾空字符和查找子字符串的位置等。 在字符串的格式化部分,文章介绍了字符串格式化的概念和常见应用场景,以及在Python中的实现方式。通过清晰的例子和详细的解释,读者可以快速了解字符串格式化的方法和规范,包括使用format函数和%操作符的区别,以及推荐使用format函数的原因。 总的来说,本文内容通俗易懂,适合作为Python字符串入门的参考资料。读者可以通过本文快速了解Python中字符串的基本概念和常用操作,同时还可以学习到一些技巧和注意事项。对于初学者来说非常有帮助,同时也为有一定基础的读者提供了一些深入的思考和学习方向。文章内容涵盖了字符串的基础知识和格式化操作,为读者提供了全面的学习指南。
《Python 核心技术与实战》,新⼈⾸单¥59
全部留言(111)
- 最新
- 精选
- Jingxiao置顶关于思考题,如果字符串拼接的次数较少,比如range(100),那么方法一更优,因为时间复杂度精确的来说第一种是O(n),第二种是O(2n),如果拼接的次数较多,比如range(1000000),方法二稍快一些,虽然方法二会遍历两次,但是join的速度其实很快,列表append和join的开销要比字符串+=小一些。2019-05-205127
- 小云同学思考题:个人提一个更加pythonic,更加高效的办法 s = " ".join(map(str, range(0, 10000)))
作者回复: 👍
2019-05-207240 - Geek_morty137%format形式在东西多了以后比较费事,结构冗长,会导致错误,比如不能正确显示元组或字典。幸运的是,未来有更光明的日子。 str.format格式相对好一些,但参数多了或者处理更长字符串时还是冗长。 f-string这种方式可以更加简化表达过程。还支持大小写(f.或者F.)
作者回复: 👍
2019-05-20233 - Wing·三金直观上看似乎第二种方法的复杂度高一倍,但实际运行了下,第二种方法效率略高,当调高到50万的时候第二种的效率比第一种高出两倍以上。
作者回复: 哈哈,对的。 如果字符串拼接的次数较少时,用+=更快,但是如果次数很大时,join稍快一些
2019-05-20525 - farFlight这两个操作实际上时间相差无几,我把循环次数提高到一百万次还是伯仲之间。 另外请问老师python中对字符串采用 is 对比的问题。 比如代码: a = 'string' b = 'string' a is b 将返回True 而 a = 'string' a += '1' b = 'string1' a is b 则返回False 这个怎么解释比较好呢?为何第一个例子中a,b会指向同一个object呢?
作者回复: 第一个例子中,'string'这个字符串对象只创建了一次,并同时被变量a和b指向,因此a is b返回True。 第二个例子中刚开始初始化的时候a和b的id就是不一样的,a is b就是False啊
2019-05-20318 - 黑铁打野王既然是提升,能不能讲一下Python解释器对于String类型内存分配的知识?
作者回复: 你好!这方面的内容你有兴趣可以自己去了解一下(google或者源码)。我的想法是专栏的内容还是实用为主,这种知识属于比较偏的了,工程当中用的很少,所以这里可能会省略
2019-05-2025 - 豊代码1复杂度:O(1)×n,即O(n);代码2复杂度:O(1)×n+ O(1)×n=o(2n),因此代码1效率更高?
作者回复: 试试同时比较range(1000)和range(10000000)两种情况的结果
2019-05-204 - carpe_diem第一种更优,虽然在时间复杂度上,两种方式都是O(n),但是第一种方法的空间复杂度优于第二种方式,第一种方法的空间复杂度为O(1),第二种方法的空间复杂度为O(n)。另外,第一种写法显然也更简洁一些
作者回复: 你同时测试一下 range(0, 100) 和 range(0, 1000000)的情况比较一下,看看两者的结果有什么不同?
2019-05-202 - bbbi老师能够讲字符串稍微底层一点的东西吗? 例如字符串的内存分配回收,常量啥的?
作者回复: 这个本专栏并没有涉及,考虑到没什么实用性。你如果感兴趣,可以都google一下这方面的资料
2020-01-21 - 拉拉老师,可不可以认为字符串是一个由字符组成的特殊元祖
作者回复: 可以这么理解,不过一般没这个说法
2019-09-03