序列——字符串

字符串:字符序列

字符串是不可变的;python不支持单字符类型,单字符也是作为一个字符串使用

调用print时,会自动打印一个换行符end='任意字符串'可以实现末尾添加任何内容

字符串的编码:ord():可以把字符转换成对应的Unicode码

                         chr():十进制数字转换成对应的字符

字符串的创建:单引号或双引号创建,如a='abc';b="sxt"

                         连续三个单引号或三个双引号创建多行字符串

空字符串    c=''                       

转义字符:\(行尾)        续行符                \\        反斜杠符号                \'        单引号

                 \"        双引号                \b        退格                \n        换行                \t        横向制表符

                 \r        回车

从控制台读取子字符串:input()

实现数字转型字符串:str()        调用print()函数时,解释器自动调用了str()见非字符串对象转换为

                                                   字符串

提取字符:[]        在[]里指定偏移量,提取该位置的单个字符

                            正向搜索:最左侧第一个字符偏移量为0,直到len(str)-1

                            反向搜索:最右侧第一个字符偏移量为-1,直到-len(str)

字符串替换:replace()        a=a.replace('c','t'),实际上是创建了新的字符串对象,并指向了变量a

字符串切片slice操作:[起始偏移量start:中止偏移量end:步长step]        从start提取到end-1,步长

                        ​​​​​​​        ​​​​​​​     为step。步长为负时,从右到左反向提取。例如,'abc'[:]

字符串拼接:+将多个字符串连接,两边类型要一致

                      将多个字符串直接放到仪器实现拼接,如:'aa' 'bb'==>'aabb'

                       join()        将一系列子字符串链接起来,如:a=['sxt','syt']        '*'.join(a)==>>'sxt*syt'

字符串复制:使用*可实现字符串复制,如a='taotao'*3>>a        'taotaotao'

字符串分割:split()        可指定分隔符将字符串分隔成多个字符串,不指定分隔符时,则默认使用

                                       空白字符,如a.split()

字符串驻留:仅保存一份相同且不可变字符串的方法;对于符合标识符规则的字符串(仅包含下划

                      线、字母和数字)

                      a='abc_33'        b='abc_33'        a is b        ==>>True

                      c='dd##'        d='cd##'        c is d        ==>>False

                      str1='aa'        str2='bb'        str1+str2 is 'aabb'        ==>>False

成员操作符:in/not in        关键字,判断某个字符(子字符串)是否存在字符串中

常用查找方法:len(a      字符串长度                a.startswith('b'       是否以指定字符串开头

                        a.endswith('ss')        是否以指定字符串结尾

                        a.find('b')        第一次出现指定字符串的位置

                        a.rfind('b')        最后一次出现指定字符串的位置

                        a.count('aa')        指定字符串出现了几次

                        a.isalnum()        是否所有字符全是字母或数字

                        a.isalpha()        字符串是否只由字母组成(含汉字)

                        a.isdigit()        字符串是否只由数字组成                a.isspace()        是否为空白符

                        a.isupper()        是否为大写字母                a.islower()        是否为小写字母

去除首尾信息:strip()        去除字符串首尾指定信息,如"*t*a*o*".strip("*")==>>'t*a*o' 

                        lstrip()        去除字符串左边指定信息              rstrip()        去除字符串右边指定信息

大小写转换:a.capitalize()        第一个字母大写                a.title()        每个单词都首字母大写

                      a.upper()        所有字母都转成大写              a.lower()        所有字母都转成小写

                      a.swapcase()        所有字母大小写转换                        这些操作都生成新的字符串 

格式排版:center()        居中,如a='tao'        a.center(10)        ==>>'      tao     '

                  ljust()        左对齐,如a='tao'        a.ljust(10,'*')        ==>>'tao**********'

                  rjust()        右对齐 

字符串格式化:str.format()       

                     a="名字是:{0},年龄是:{1}"        a.format("taotao",22)==>>'名字是:桃桃,年龄是22'

                     b="名字是{name},年龄是{age}'        b.format(age=19,name='taotao')==>>'名字是

                     taotao,年龄是19'

                      ^ > <        居中、左对齐、右对齐,后面带宽度,:后带填充字符,只能是一个,不

                                      指定默认空格,如"{:*>8}".format(""245)==>>'*****245'

                     数字格式化:浮点数通过f,整数通过d,如:a="我是{0},我存款是{1:.2f}"       

                                           a.format("taotao",388.1123)==>>'我是taotao,我的存款由388.11'

一些格式:{:.2f}        保留小数点后两位                {:+.2f}        带符号保留小数点后两位

                  {:.0f}        不带小数                {:0>2d}        数字补零(填充左边,宽度为2)

                  {:x<4d}        数字补x(填充右边,宽度为4)        {:,}        以逗号分割的数字格式

                  {:.2%}        百分比格式                {:.2e}        指数记法

可变字符串:源地址修改字符串,使用io.StringIO对象或array模块

import io

s="hello,taotao"
sio=io.StringIO(s)
sio.seek(7)
sio.write('g')
print(sio.getvalue())   ##结果为hello,tgotao

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值