#定义非空字符串 >>>name="luoahong"
#通过下标访问 >>>name[1] 'u'
#不能修改字符串的值,否则会报错 >>>name[2]="3" Traceback(mostrecentcalllast): File"",line1,in TypeError:'str'objectdoesnotsupportitemassignment

特别提醒:字符串如果修改的话,字符串所在的内存地址也跟着变化,所以不可被修改,但是对于列表来说,可以修改是因为列表的内存是不变的,可以直接在上面修改

2、切片

特别提醒:字符串其实和列表,元组一样,也是可以切片的

>>>name="ahongluo"
>>>name[1:4]#取1到4之间的字符,包括1,不包括4
'hon'
>>>name[1:-1]#取1到-1之间的字符,包括1,不包括-1
'honglu'
>>>name[0:3]
'aho'
>>>name[:3]#从头开始取,0可以省略,效果等同于name[0:3]
'aho'
>>>name[3:]#想取到最后一个值,必须不能写-1,只能这么写
'ngluo'
>>>name[0::2]#后面的2表示:每隔一个字符就取一个
'aoglo'
>>>name[::2]#从头开始0可以省略,效果跟上一句一样
'aoglo'

3、首字母大写(capitalize())

>>>name="ahongluo"
>>>name.capitalize()
'Ahongluo'
>>>

4、统计(count(sub,start=None,end=None))

sub:统计的字符,start:开始位,end:结束位,start和end默认为空时,则表示全部字符中去统计

>>>name="ahongluo"
#有开始和结束符

>>>name.count("o",1,5) 1
#从整个字符串中统计字符 >>>name.count("o")
2 >>>

5、center(width,fillchar)

如果width(字符宽度)小于等于(<=)字符串的长度,则返回原字符串,如果大于(>)字符串的,则用fillchar(填满字符)填满,处理结果等于width,字符串位于fillchar的中间

>>>name="ahongluo"
>>>len(name)
9
#10小于等于字符串宽度 >>>name.center(12,'-') '-ahongluo--'
#50大于字符串长度,并且字符串位于填充字符的中间 >>>name.center(50,'-') '--------------------ahongluo---------------------' >>>len(name.center(50,'-')) 50

6、ljust(width,fillchar)

如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最右边

>>>name="ahongluo"
>>>len(name)
9
#小于等于字符串的长度 >>>name.ljust(8,'-') 'ahongluo'
#大于字符串的长度 >>>name.ljust(50,'-') 'ahongluo-----------------------------------------'

特别提醒:ljust中的l表示left的意思,表示从右向左

7.rjust(width,fillchar)

如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最左边

>>>name="ahongluo"
>>>len(name) 9 >>>name.rjust(8,'-') 'ahongluo' >>>name.rjust(50,'-') '-----------------------------------------ahongluo'

特别提醒:ljust中的l表示left的意思,表示从左向右

8、编码(encode)

字符串的编码和解码,在这边不用说了,我专门写了一篇博客,详细地址:猛击这里

9、endwith(suffix,start=None,end=None)

判断是否已suffix结尾,是返回True,否返回Fales

suffix:表示字符,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断>>>name="ahongluo"

>>>name.endswith('0',1,4)False
>>>name.endswith('o')True>>>name.endswith('o',1,4)False

10、find(sub,start=None,end=None)

全文查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1

sub:字符或者字符串,start:开始位,end:结束位,start和end默认为空时,则在整个字符串中查找

>>>name="ahongluo"

#没找到,则返回-1 >>>name.find("lu",1,4) -1 >>>name.find("a",2) -1 >>>name.find("lu") 6 >>>name.find("lu",1,6) -1 >>>name.find("lu",1,10) 6 >>>

11、rfind(sub,start=None,end=None)

从左向右查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1

>>>name="ahongluo"
#找到 >>>name.rfind("a") 0
#未找到 >>>name.rfind("a",2) -1

12、format()

①关键字拼接也是官方推荐

1
2
3
4
5
6
7
8
9
name="alex"
age=18

info='''----info-----
name:{_name}
age:{_age}
'''.format(_name=name,_age=age)

print(info)
②占位符拼接

1
2
3
4
5
6
7
8
9
name="alex"
age=18

info='''----info-----
name:{0}
age:{1}
'''.format(name,age)

print(info)

13、format_map()

数据格式,以字典形式传入

>>>name="name:{name},age:{age}"
>>>name.format_map({"name":"luoahong",'age':23})
#输出结果 'name:luoahong,age:23'

14、isalnum()

是否是一个阿拉伯数字和字母,它包含因为英文字符+(1-9)数字,中间不能有特殊字符

>>>age='23'
>>>age.isalnum()
True
#有特殊字符的 >>>age='ab23' >>>age='ab' >>>age.isalnum() True >>>age='ab' >>>age.isalpha() True >>>

15、isalpha()

是否是一个纯的英文字符,包含大写

>>>age='ab'
>>>age.isalpha()
True
#夹着数字
>>>age='ab23'
>>>age.isalpha()
False
#大写
>>>age='Ab'
>>>age.isalpha()
True

16、isdigit()

判断是否是一个整数

17、isspace()

判断是否是一个空格

#不是空格
>>>age='age'
>>>age.isspace()
False
#是空格
>>>age=''
>>>age.isspace()
True

18、istitle()

是否是一个标题(字符串中的每个单子首字母大写)

#每个单词的首字母是小写
>>>name="luoahong" >>>name.istitle() False >>>name="luoahong" >>>name.istitle() False
#每个单词的首字母大写 >>>name="LuoAHong" >>>name.istitle() True >>>name="Luoahong" >>>name.istitle() True

19、isupper()

是否是大写,注意字符串必须全部是大写才会返回True,否则返回False

#全部大写
>>>name="LUO" >>>name.isupper() True
#小写 >>>name="Luo" >>>name.isupper() False >>>

20、join()

序列用某个字符拼接成一个字符串,注意的是,序列的元素必须是str类型

>>>a=['1','2','3']
>>>'+'.join(a)
'1+2+3'

21、lower()

字符串中的大写字母转换为小写字母

>>>name="LuoAHong"
>>>name.lower()
'luoahong'
>>>

22、upper()

字符串中的小写字母转换为大写字母

>>>name="LuoAHong"
>>>name.upper()
'LUOAHONG'

23、strip()

去掉左右两边的空格(space)和回车(\n)

>>>name="\nluoahong\n"
>>>name.strip()
'luoahong'

24、lstrip()

删掉左边到右的空格(space)和回车(\n)

>>>name="\nluoahong\n"
>>>name.lstrip()
'luoahong\n'

25、rstrip()

删掉右边到左边的空格(space)和回车(\n)

>>>name="\nluoahong\n"
>>>name.rstrip()
'\nluoahong'

至此,方法前有l(left)和r(right)的函数,都是对之前函数的一个扩展,带l的表示至始至终从右到左操作,记住左边才是最终目的地,而带r的至始至终都是从左到右,因为右边才是它的终极目标

26、split()

分割函数,默认是以空格分割(space)生成一个列表,如果其他字符分割,输入其他字符参数

>>>name="ahongluo"
#默认为空,按空格分割 >>>name.split() ['ahong','luo'] >>>name="ahong+luo"
#以"+"字符分割
>>>name.split("+") ['ahong','luo']
#以'\n'分割 >>>name="ahong\nluo" >>>name.split("\n") ['ahong','luo']

27、splitlines()

以换行符分割,这个一般在windows上开发,移到Linux上执行,或者在Linux上开发,移到Windows上执行,因为换行在windows上是"\r\n",linux上是'\n'

>>>name="ahong\nluo"
>>>name.splitlines()
['ahong','luo']

28、swapcase()

把大写换成小写,把小写换成大写

>>>name="Luo"
>>>name.swapcase()
'lUO'

29、startswith(prefix,start=None,end=None)

判断是否以prefix开始,是返回True,否返回Fales

prefix:表示字符或者字符或者字符串,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断

>>>name="ahongluo"
>>>name.startswith("luo")#开头找到"luo"字符串
False
>>>name.startswith("h",3,5)#在索引3到5之间没有找到以字符'h'开头
False

30、replace(old,new[, max])

old:将被替换的子字符串;new:新字符串,用于替换old子字符串;max:可选字符串,替换不超过max次

>>>name="woshiluoahong"
>>>name.replace("shi","bushi")
'wobushiluoahong'
#原字符串没有改变 >>>name.replace("shi","bushi",0) 'woshiluoahong' >>>name.replace("shi","bushi",1) 'wobushiluoahong'

31、zfill(width)

字符的长度是否大于等于(>=)with,如果比width小,则在字符串钱用0填充,如果>=width,则返回原字符串

>>>name="luoahong"
>>>len(name)
8
#width大于字符串长度 >>>name.zfill(11) '000luoahong'
#width小于等于字符串长度 >>>name.zfill(8) 'luoahong' >>>

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

热门推荐

免责声明:网站资源来源于网络,如有侵权,请及时联系删除。

Copyright © 2024 微客导航网. All Rights Reserved.

蜀ICP备2021004611号-4 网站地图