python字符串

前面python办公自动化有讲部分,这里主要学习操作:

chr(编号)    #打印对应unicode字符  例如:chr(88) 打印结果: ‘X’

ord(字符)   #打印unicode编号  例如:ord("B") 打印结果:’66‘

str(数据)   #可以将数值,如整数、浮点数、布尔型数值转换为字符串

[]     #提取字符【正想搜索:从左面偏移0开始,负向搜索与之相反】

对象.replace(将被替换的字符串,使用此字符串替换)   #替换字符串,生成新字符串,并不修改原字符串。

slice     #字符串切片【a[1:5],切1~5,不包含5的四个字符,len[a(1:5)],打印为4的长度,具体用法看10】

split()    #分割字符串

join()     #拼接字符串,拼接时尽量用此,优化性能。

in 或者not in #判断谋字符串是否在另一个字符串内。

format()    #字符串格式化:a="名字是:{0},性别是:{1}",通过{}占位符来占位,为后面随时修改做准备,赋值b=a.format("cisco","sex")写法2:a="名字是:{name},性别是:{sex}" ,b=a.format("name=cisco",sex="sex")

填充跟对齐一起使用^居中,>右对齐,<左对齐。 使用方法,在{}中这样写居中右对齐*填充{"^*>"},其中还可以写字符数目

可变字符串对象:io   #反复需要修改字符串的时候

import io

s="dasdasd"

sio=io.StringIO(s)

sio=io.getvalue()

sio.write("dsdvvvv")

数字格式化:【略】

字符串常用的查找方法:

len()  #返回长度

startswith()  #返回True或False,表示以某个字符串开头

endswith() #返回True或False,表示以某个字符串结尾

find()         #返回字符串第一次出现的位置

rfind()      #返回字符串最后以此出现的位置

count()    #统计字符串出现的次数

isalnum()  #所有字符全是字母或者数字,返回True或False

字符串去除首尾:

strip()

去除左边的字符串:

lstrip()

去除右边的字符串:rstrip()

大小写转换:

title()    #产生新的字符串。每个单词首字母大写

capitalize() #产生新的字符串,首字母大写

upper()  #产生新的字符串,所有字符全部转成大写

lower()  #.........................................................小写

swapcase()   #产生新的,所有字母大小写转换【大写变小写,小写变大写】

格式排版:

center(num,str)  #居中,左右用某字符填充

ljust(num,str)  #左对齐,..............................

rjust(num,str) #右对齐...............................

其他方法:

检测:

isalnum()  #是否为字母或数字

isalpha()  #是否是由字母(包含汉字)组成

isdigit()     #......是由数字组成

isspace()  #检查是否为空白符

isupper() #是否为大写字母

islower() #是否为小写字母

python的字符串驻留机制【这个很溜,只要符合字母或数字或下划线构成的字符串,自动驻留内存,测试a="a_b"  b="a_b" ,使用a is b测试时,返回True,其他符号拼接则不会如此】

******能使用自带的就使用自带的,这样可以使程序最优化,除非你有更好的优化。

一、给变量赋值字符串等问题

1、使用

aa="""

字符串1

字符串2

"""

时,打印会自动加入 ,即

' 字符串1 字符串2 '

【可知, 会被加入,并且使用len(aa)计算长度时,会把 计算入内,len(aa)此处的长度为14,自行验证,各种可能】

2、使用

aa="
a
b
c
"

时,就不会出现1中的情况,打印时为

'abc'

长度则为3

3、转义字符:

      续行符【2中使用情况】

\    反斜杠符号【即单个】

‘    单引号【'】

  退格【BackApace】

  换行制表符

  回车

4、字符串拼接

a="sdsddds"+"ddffdd" 【必须都是字符串】

a="sdsdsd"+str(123) 【可以使用str来拼接数值】

5、字符串复制

a="we"*3 【表示复制两次,加上原来共三次,结果wewewe。】

6、print打印:

print("sxt",end='*')

表示在打印完后在结尾加end='*'的*字符串。

7、从控制台输入:

a = input("请输入:")【input进行了阻塞和中断,会先显示请输入:然后用户输入数据,回车,输入的数值再赋值给a】

8、使用[]搜索字符

a="abcdefghijklmnopqrstuvwxyz"

a[1]

打印结果:

b

9、replace替换字符

a.replace('b','n')

将a中的'b'替换成'n'

10、字符串切片slice

a[1:5]

打印1到4的字符

a[3:]  

从3打印到结束

a[:9]

从0打印到8

a[-3:-9]

从倒数第个开始往前到倒数第8.

结合上面探索。

a[::2]表示从0开始取,步长为2

11、字符串切割【split】【默认空格,换行符,制表符分割】

如a="a b c b e"

a.split()

结果:

['a','b','c','b','e']

使用自定义的分割:

a.split('字符串')

如:

>>> a.split("we")

打印结果

['qr', 'ui', 'hj', '']

12、字符串合并【join】

a.join("sdasd")

join效率测试略【由于不会与前面单纯使用+拼接一样产生新对象,从而效率更高】

原文地址:https://www.cnblogs.com/ciscolee/p/14656612.html