python没有字符类型,单独一个字符是长度为一的字符串。
字符串删除添加字符使用切片的形式,不能对字符串直接操作。通过拼接形成的字符串不是对原字符串的改变,而是形成新的字符串,用原来的标签指向新的字符串,原来的字符串依然存在,当原来的字符串没有标签指向时,旧的字符串会被回收。
比较操作符><=,逻辑操作符 and or,成员操作符in not in,字符串与列表,元组同样适用,三个同属于序列类型
函数 | 意思 |
---|---|
capitalize() | 将字符串的第一个字符变为大写,如果首字没有大写形式,则返回原字符串,对unicode编码字符有效 |
center(width[,fillchar]) | 将字符串居中并用空格填充至长度为width的新字符串,如果指定的长度小于字符串长度,则返回原字符串。fillchar表示填充的字符 |
count(sub[,strat[,end]]) | 返回sub在字符串里出现的次数,start和end参数表示范围,可选 |
endswith(sub[,start[,end]]) | 检查字符串是否以sub字符串结束,如果是返回True,否者返回False,start和end参数表示范围,可选 |
startswith(prefix[,start[,end]]) | 与endswith类似,检查字符串是否以prefix开始 |
expandtabs([tabsize=8]) | 把字符串中的tab(\t)符号转换为空格,如果不指定参数,默认空格数是tabsize=8 |
find(sub[,start[,end]]) | 检查sub是否包含在字符串中,如果有则返回索引值,否者返回-1,start和end参数表示范围,可选 |
rfind(sub[,start[,end]]) | 类似于find,不过从右边开始查找 |
index(sub[,start[,end]]) | 和find方法一样,不过如果sub不在string中是会产生异常 |
rindex(sub[,start[,end]]) | 类似于index,从右边开始查找 |
isalnum() | 如果字符串中至少包含一个字符,并且所有的字符都是数字或者字母则返回True,否者返回False |
isalpha() | 如果字符串中至少有一个字符,并且所有的字符都是字母则返回True,否者返回False |
isnumeric() | 如果字符串中只包含数字,则返回True,否者返回False |
islower() | 如果字符串都是小写则返回True,如果有中文返回False |
isspace() | 如果字符串里只包含空格则返回True,否则返回False |
istitle | 如果字符串是标题化(所有的单词都是以大写字母开始,其余字母均小写)则返回True,否则返回False |
swapcase() | 对字符串字母的大小写进行反转。对unicode编码的字符有效,有大小写的。 s.swapcase().swapcase() == s 不一定为真 |
upper() | 将字符串所有字母变为大写,会自动忽略不可转成大写的字符。 |
join(sub) | 以字符串为分隔符插入到sub中的所有字符之间 |
ljoin(width)rjoin(width) | 返回指定长度的字符串,字符串内容居左(右)如果长度小于字符串长度,则返回原始字符串,默认填充为 ASCII 空格,可指定填充的字符串。 |
strip([]) | 删掉字符串前边和后边所有的空格,char可指定参数 |
lstrip() | 去掉字符串左边的所有空格 |
rstrip() | 去掉字符串右边的所有空格 |
partition(sub) | 找到子字符串sub,将字符串分成三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘元字符串’,”,”) |
rpartition(sub) | 类似于partition,不过从右边开始查找 |
replace(old,new[,count]) | 把字符串中old子字符串用new子字符串代替,如果指定count则替换不超过count次 |
zfill(width) | 返回长度为width长度的字符串,原字符串右对齐,前面用0填充 |
splitlines([keepends]) | 按照’\n’分割,返回一个包含各行作为元素的列表,如果keepends指定,则返回前keepends行 |
split(sep=None, maxsplit=-1),不带参数默认以空格为分隔符切片字符串,如果maxsplit有参数设置,则仅分割maxsplit个子字符串,返回切片后的子字符串拼接的列表
>>> str2="I like apples"
>>> str2.split()
['I', 'like', 'apples']
>>> str1="1,2,3,4,5"
>>> str1.split(',')
['1', '2', '3', '4', '5']
#按某一个字符分割,且分割n次。如按‘,’分割2次
>>> str1.split(',',2)
['1', '2', '3,4,5']
>>> (num1,num2)=str1.split(',',1)
>>> num1
'1'
>>> num2
'2,3,4,5'
"""
python3的语法
(1)makestrans()用法
语法: str.maketrans(intab, outtab]);
Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
(2)translate(table)用法
根据table规则,可有str.maketrans('要转化的字符串','转化成的字符串')定制,转换字符串中的字符。
"""
python 3.3 引入了string.casefold()
方法,其效果和 string.lower()
非常类似,都可以把字符串变成小写.lower()
只对 ASCII 也就是 ‘A-Z’有效,但是其它一些语言里面存在小写的情况就没办法了。而.casefold()
可以对Unicode 编码将大写变为小写