Python 知识量:10 - 41 - 150
在编程中,字符串无处不在,是非常重要的数据结构。Python有许多方法可以对字符串进行操作,首先要了解的就是访问字符串中的每个字符。
通常使用字符串索引来访问每个字符。Python中使用方括号“[]”来标识索引值,像下面这样访问字符:
>>> s='pnotes' >>> s[0] 'p' >>> s[1] 'n' >>> s[2] 'o' >>> s[3] 't' >>> s[4] 'e' >>> s[5] 's'
需要注意的是,字符串索引值总是从0开始计数,Java等其他多数主流编程语言也都是如此。因此,对于拥有n个字符的字符串来说,s[0]是字符串s的第一个字符,s[n-1]是其最后一个字符。可以将字符串索引理解为一把尺子,索引值就像刻度一样,表示当前字符与第一个字符的距离。
如果引用的索引值超出了字符串长度就会出现错误,例如:
>>> s='pnotes' >>> s[6] Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> s[6] IndexError: string index out of range
如果访问字符串s最后一个字符除了使用s[n-1]这种形式外,还可以使用更加便捷的负数索引方式,也就是从右到左查找字符串,如下所示:
>>> s='pnotes' >>> s[-1] 's' >>> s[-2] 'e' >>> s[-3] 't' >>> s[-4] 'o' >>> s[-5] 'n' >>> s[-6] 'p'
如果索引值超出字符串长度同样会出错。字符串的索引与负数索引对应关系如下图所示:
通常使用for循环语句遍历字符串的每个字符,下面是一个示例:
#s.py def sp(s): for w in s: print(w)
运行结果为:
>>> ======================== RESTART: D:/PythonTestFile/s.py ======================= >>> sp('PNOTES') P N O T E S
在每轮for循环中,都会首先将w设置为字符串的下一个字符,利用索引进行的字符串访问由for语句自动完成。
字符串由字符组成,而字符实际上对应的是字符编码。Python的字符编码遵循Unicode标准,该标准涵盖了全球各种语言的符号和字母。
要处理Python中的字符,可以使用ord()函数和chr()函数。
ord()函数用于将获取的字符表示成字符编码。
chr()函数用于根据字符编码表示对应的字符,功能与ord()函数正好相反。
#s.py def useOrd(s): for w in s: print(ord(w)) def useChr(n): print(chr(n))
运行结果为:
>>> ======================== RESTART: D:/PythonTestFile/s.py ======================= >>> useOrd('PNOTES') 80 78 79 84 69 83 >>> useChr(80) P >>> useChr(83) S
并不是所有的字符都是可见的,例如换行、回车、制表符等等。虽然它们的效果可见,但对编程语言来说,它们不能被直接使用或打印出来。Python通过转义字符来表示这些特殊的字符,如下表所示:
表示方法 | 含义 |
---|---|
\\ | 反斜杠 |
\' | 单引号 |
\" | 双引号 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
要表示特殊字符,需要在其前面加一个反斜杠。需要注意的是:转义字符作为单个字符,前面的第一个反斜杠不计入字符串长度。示例如下:
>>> print('I have a \'BIG\' house!') I have a 'BIG' house! >>> s='\\' >>> print(len(s)) 1
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6