字符串的编码
使用内置函数 ord()可以把字符转换成对应的Unicode 码;
使用内置函数 chr()可以把十进制数字转换成对应的字符。
len()用于计算字符串含有多少字符。
使用*可以实现字符串复制。
不换行打印:通过参数 end = “任意字符串”,实现末尾添加任何内容。
从控制台读取字符串
使用 input()从控制台读取键盘输入的内容。
使用[]提取字符
字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量, 可以提取该位置的单个字符。
正向搜索: 最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。
反向搜索: 最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到**-len(str)**为止。
replace()实现字符串替换
a = a.replace(‘c’,‘高’)
整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。
字符串切片slice操作
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做 0,终止偏移量大于“长度-1”会被当成-1。
1、将”to be or not to be”字符串倒序输出
>>> b="to be or not to be"
>>> b[::-1]
'eb ot ton ro eb ot'
2、 将”sxtsxtsxtsxtsxt”字符串中所有的 s输出
>>> c='sxtsxtsxtsxtsxt'
>>>> c[0::3]
'sssss'
split()分割和join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔 符,则默认使用空白字符(换行符/空格/制表符)。
拼接字符串要点: 使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join 函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
字符串驻留机制和字符串比较
仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。 Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制。
字符串比较和同一性
我们可以直接使用==,!=对字符串进行比较,是否含有相同的字符。
我们使用is / not is,判断两个对象是否同一个对象。比较的是对象的地址,即 id(obj1)是 否和 id(obj2)相等。
成员操作符
in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。
字符串常用方法
常用查找方法
去除首尾信息
通过 strip()去除字符串首尾指定信息。通过 lstrip()去除字符串左边指定信息, rstrip()去除字符串右边指定信息。
a = ‘abdcerfafafaffafeffa’
a.strip(‘a’)
‘bdcerfafafaffafeff’a.lstrip(‘ab’)
‘dcerfafafaffafeffa’
大小写转换
格式排版
其他方法
字符串的格式化
format()基本用法
格式化字符串的函数str.format(),它增强了字符串格式化的功能。
基本语法是通过{}和:来代替以前的%。
format函数可以接受不限个参数,位置可以不按顺序。
>>> a = "我的名字是:{0},年龄是:{1}"
>>> a.format("wyy",35)
'我的名字是:wyy,年龄是:35'
>>> b = "我喜欢{name},原因是{reason}"
>>> b.format(name='编程',reason='充实')
'我喜欢编程,原因是充实'
我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。
填充与对齐
填充常跟对齐一起使用 ^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
数字格式化
浮点数通过f,整数通过d进行需要的格式化。
可变字符串
在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或array 模块。
>>> import io
>>> s = 'Hello world'
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x000001EC69E2B318>
>>> sio.getvalue()
'Hello world'
>>> sio.seek(7)
7
>>> sio.write("g")
1
>>> sio.getvalue()
'Hello wgrld'