特点
Python 不支持单字符,单字符作为字符串使用。
字符串的本质:字符序列。
Python的字符串是不可改变的,对于字符串操作,基本都是重新生成字符串。
字符串的编码
Python支持Unicode,默认16位Unicode,ASCII是Unicode的子集。
内置函数 | ord(’字符串‘) | 把字符转换成对应代码 |
内置函数 | chr(数字) | 把十进制转换对应字符 |
str(123) | 把数字转换为字符串 |
引号创建字符串
单引号创建,a=''
双引号创建,a=""
三引号创建,a='''三引号''',a="""三引号"""
转义字符
'\+特殊字符'
转义字符 | 描述 |
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
Python字符串运算符
操作符 | 描述 | 实例 |
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | print( r'\n' ) print( R'\n' ) |
% | 格式字符串 | 请看下一节内容。 |
字符串拼接
1.+运算符拼接
’字符串1‘+’字符串2‘=’字符串字符串2‘
’a'+'b'='ab'
2.直接拼接
‘字符串1’‘字符串2’=‘字符串1字符串2’
字符串复制
>>> a='字符串'*3
>>> a
'字符串字符串字符串'
>>>
不换行打印
>>> print('不换行',end='')
不换行
>>> print('不换行',end='*')
不换行*
>>>
从控制台读取字符串
>>> a=input('从控制台读取字符串')
从控制台读取字符串 叩打法的说法
>>> print(a)
叩打法的说法
>>>
字符串本质就是字符序列。
正向搜索
最左侧第一个字符,偏移量是0,第二个是1,直到len(str)-1
反向搜索
最右侧第一个字符,偏移量是-1,第二个是-2,直到-len(str)
>>> a='01234' >>> a[0] '0'
>>> a[-1] '4' >>>
str(3.14) #转换字符串
a='abcedf' print(a[0]) print(a[1]) print(a[2]) print(a[3]) print(a[4]) print(a[5]) print(a[-1]) print(a[-2]) print(a[-3]) print(a[-4]) print(a[-5]) #使用[]提取字符串 '''字符串是不可变的''' """对于字符串操作,基本复制重新生成""" b='0123456' b.replace('0','1') print(b) print(b.replace('0','1'))