04 字符串

目录链接:https://www.jianshu.com/p/e1e201bea601

字符串基础

什么是字符串呢?字符串是由独立字符组成的一个序列。通常包含在单引号('') 双引号("" ) 或者三引号之中(''' ''' 或 """ """ , 两者一样)

string1 = 'teststring1'
string2 = "teststring2"
string3 = """teststring3"""
string4 = '''teststring4'''
04 字符串_第1张图片
string.png

支持转义字符
常见的的转义字符

转义字符 说明
(在行尾时) 续行符
\ 反斜杠符号
' 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

参见 http://www.runoob.com/python3/python3-string.html

字符串的常见操作

可以把字符串想象成一个由单个字符组成的数组, Python 的字符串同样支持索引, 切片和遍历等等操作。


04 字符串_第2张图片
string.png

Python 的字符串是不可变的(immutable)

04 字符串_第3张图片
immutable.png

符串的改变
Python 中字符串的改变, 通常只能通过创建新的字符串来完成。

方法一:s = 'H' + s[1:]
方法二:s = s.replace('h', 'H')

04 字符串_第4张图片
image.png

老版本的 Python , 每次想要改变字符串, 往往需要 O(n) 的时间复杂度, 其中, n 为新字符串的长度。

Python2.5 开始, 每次处理字符串的拼接操作时(str1 += str2) , Python 先会检测 str1 还有没有其他的引用。 如果没有的话, 就会尝试原地扩充字符串 buffer 的大笑,而不是重新分配一块内存来创建新的字符串并拷贝。

字符串拼接
1、加法操作符 str1 += str2
2、内置的 join 函数 string.join(iterable), 表⽰把每个元素都按照指定的格式连接起来

04 字符串_第5张图片
join.png

字符串的分割
分割函数 split(separator)、strip(str)\lstrip(str)\rstrip(str)
string.split(separator), 表示把字符串按照separator 分割成子字符串, 并返回一个分割后子字符串组合的列表。
string.strip(str), 表示去掉首尾的 str 字符串;
string.lstrip(str), 表示只去掉开头的 str 字符串;
string.rstrip(str), 表示只去掉尾部的 str 字符串。

04 字符串_第6张图片
image.png

字符串的格式化

参见
Python标准库之string 库:中的 格式字符串语法示例 Format String Syntax examples
https://www.jianshu.com/p/faaa48f4c511

参考资料:

极客时间 Python核心技术与实战学习

Python核心技术与实战(极客时间)链接:
http://gk.link/a/103Sv

Python3 字符串:
http://www.runoob.com/python3/python3-string.html

Python标准库之string 库:
https://www.jianshu.com/p/faaa48f4c511


GitHub链接:
https://github.com/lichangke/LeetCode

知乎个人首页:
https://www.zhihu.com/people/lichangke/

个人首页:
https://www.jianshu.com/u/3e95c7555dc7

个人Blog:
https://lichangke.github.io/

欢迎大家来一起交流学习

你可能感兴趣的:(04 字符串)