Python字符串

1.字符串是不可变的

2.字符串用'xx',或"xx"均可,三引号'''x'''或"""x"""中的内容可以包含回车或tab键,里面的内容即所见即所得

3.r'\n' 代表原始字符,里面写成什么样就是什么样,不需要转义

4.u'xxx'代表unicode编码

5.适用对序列的操作,即索引、分配、乘法、判断成员资格、求长度、取最大值和最小值

 

标准库里的关于字符串的主要模块:string库和re库


编码方式: 

ASCII一个英文字符按8位二进制(一个字节)方式进行存储,能标识223个字符,默认按ascii编码,类StringType"hello word"    #ascii string

str()

chr()

只能处理ascii编码字符串,unicode字符串传入后会被先转换成ascii字符串,可能会产生乱码报异常等现象

Unicode用多字节存储,能标识90000个字符,在字符串前面加u前缀的方式声明unicode字符串,支持utf-8的编码方式,类UnicodeTypeu"hello word"  #unicode string

unicode()

unichar()

UTF-8

处理英文时用ASCII编码

处理其他语言时用unicode编码

  

 有的时候字符串会带u,例如u'aaaa'  ,如果让显示出的字符串不带u,则用 unicode.encode(变量名) 来把带u的字符串转换成不带u的

 

格式化:转换说明符%s % 右操作数(右操作数可以是任意类型,包括元祖)

转换说明符:

d,i带符号的十进制整数

%d,%i

f,F十进制浮点数%f,%F
sstr转换任意python对象,字符串%s
rrepr转换任意python对象,字符串%r
e,E科学计数法表示的浮点数%e,%E
x,X不带符号的十六进制%x,%X
o不带符号的八进制%o
u不带符号的十进制%u
#带符号的八进制/十六进制%#x
字符宽度 -,+,0

-左对齐

+值前加正负号

0位数不够用0填充

%-10.2f   -  ‘字段宽10,左对齐,精度2’

%010.2f   -  ‘字段宽10,位数不够0填充,精度2’

精度

实数,表示小数点后的位数

字符串,表示最大字段宽度

%10.2f   -   ‘字段宽10,右对齐,精度2’

 

转义字符

\在行尾时续行符
\\反斜杠符号
\'单引号
\"双引号
\b退格
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\other其他
  
  
  

 

内建函数:继承自string模块

功能方法原来的字符串返回备注
首字母大写"xx".capitalize()"abc""Abc" 
 "xx".title()   
 "xx".capwords()   
某字符串出现的次数"xx".count("x",beg=0,end=len("xx"))"xx"2beg和end指定范围,不写则默认全部范围
指定解码格式"xx".decode(encoding='UTF-8)"xx""xx" 
指定编码格式"xx".encode(encoding='UTF-8)"xx""xx" 
是否以某字符串结束"xx".endswith("x",beg=0,end=len("xx"))"xx"True/Falsebeg和end指定范围,不写则默认全部范围
把字符串中的tab符号转换为空格"xx".expandtabs(tabsize=8)"xx""x"tab符号默认的空格数是8
是否包含某字符串"xx".find("x",beg=0,end=len("xx"))"xx"-1包含则返回索引值,否则返回-1
 "xx".rfind("x",beg=0,end=len("xx"))  从右面开始查找
格式化字符串"xx".format()   
是否包含某字符串返回索引"xx".index("x",beg=0,end=len("xx"))  找不到则报错
 "xx".rindex("x",beg=0,end=len("xx"))  从右侧开始查找
是否都是字母或都是数字"xx".isalnum() True/False 
是否都是字母"xx".isalpha() True/False 
是否都是数字"xx".isdecimal()/"xx".isdigit()/"xx".isnumeric() True/False 
是否都是小写"xx".islower()   
是否都是空格"xx".isspace()   
是否都是首字母大写"xx".istitle()   
是否都是大写"xx".isupper()   
以某分隔符串联序列的所有元素"xx".join(seq)"+".join(['aa','b','d'])'aa+b+d'返回字符串
以某分隔符拆分序列的所有元素"xx".split("x")"aa,b,d".split(',')['aa','b','d']返回序列
转换为全小写"xx".lower()   
转换为全大写"xx".upper()   
去掉空格"xx".lstrip()左/"xx".rstrip()右/"xx".strip()左右   
返回最大值max("xx")   
返回最小值min("xx")   
替换"xx".replace("x","y",num=2)  x替换成y,如果num指定,则不超过num次
返回行列表"xx".splitlines(keepends)  按照行('\r,'\r\n','\n')分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则保留换行符
     
     
     
     
     
     

 

转载于:https://www.cnblogs.com/zz27zz/p/7383127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值