Python第十四课:字符串,各种奇葩的内置方法

  • A+
所属分类:Python学习

课程内容:

  • apitalize(),字符串第一个字符改为大写
  1. >>> url ='www.lijin.cc'
  2. >>> url.capitalize()
  3. 'Www.lijin.cc'
  • casefold(),将所有字符都变为小写
  1. >>> url ='WWW.LIJINLONG.CC'
  2. >>> url.casefold()
  3. 'www.lijinlong.cc'
  • count(sub,[start,[end]]),查找字符串出现的次数,支持范围选择
  1. >>> url.center(20)
  2. '  WWW.LIJINLONG.CC  '
  3. >>> url.count('I')
  4. 2
  5. >>> url.count('I',0,7)
  6. 1
  • encode(encoding='utf-8',errors ='strict'),指定编码格式对字符串进行编码
  1. >>> url ='李金龙的博客:www.lijinlong.cc'
  2. >>> url.encode(encoding='utf-8',errors ='strict')
  3. b'\xe6\x9d\x8e\xe9\x87\x91\xe9\xbe\x99\xe7\x9a\x84\xe5\x8d\x9a\xe5\xae\xa2\xef\xbc\x9awww.lijinlong.cc'
  • endswith(sub,[start,[end]]),查找结尾是否为指定字符串,可选择区域
  1. >>> url.endswith('c')
  2. True
  3. >>> url.endswith('博客',0,6)
  4. True
  • expandtabs([tabsize=8]) 将tab符号(\t,也称为制表符)转换为空格,默认为8个空格
  1. >>> url
  2. '\t李金龙的博客:www.lijinlong.cc'
  3. >>> print(url)
  4.     李金龙的博客:www.lijinlong.cc
  5. >>> url.expandtabs()
  6. '        李金龙的博客:www.lijinlong.cc'
  • find(sub,[start,[end]]),查找字符串,如有返回索引位置,无返回-1
  • rfind(sub,[start,[end]]),从右侧开始查找
  1. >>> url.find('龙')
  2. 2
  3. >>> url.find('呵呵')
  4. -1
  • index(sub,[start,[end]]),与find相似,但无返回是返回一个异常
  • rindex(sub,[start,[end]]),从右侧开始
  1. >>> url.index('龙')
  2. 2
  3. >>> url.index('呵呵')
  4. Traceback (most recent call last):
  5.   File "<pyshell#35>", line 1, in <module>
  6.     url.index('呵呵')
  7. ValueError: substring not found
  • isalnum(),至少有一个字符串,且所有字符都是字母或数字,是返回True,否返回False
  1. >>> url.isalnum()
  2. False
  3. >>> url1='lijinlong'
  4. >>> url1.isalnum()
  5. True
  • isalpha(),至少有一个字符串,且所有字符都是字母,是返回True,否返回False
  1. >>> url1.isalpha()
  2. True
  3. >>> url.isalpha()
  4. False
  • isdecimal(),字符串只包含十进制数字,是返回True,否返回False

再输入的时候,把url2的变量赋值给了字符串,后面经过str转成字符串,才完成了判断。

  1. >>> url2 = 342422610
  2. >>> url2.isdecimal()
  3. Traceback (most recent call last):
  4.   File "<pyshell#44>", line 1, in <module>
  5.     url2.isdecimal()
  6. AttributeError: 'intobject has no attribute 'isdecimal'
  7. >>> str(url2).isdecimal()
  8. True
  • .isdigit(),字符串是否只包含数字,是返回True,否返回False
  1. >>> url2 =342422610
  2. >>> url2 =str(url2)
  3. >>> url2.isdigit()
  4. True
  • islower(),字符串中包含一个区分大小写的字符,且字符均为小写,是返回True,否返回False
  1. >>> url ='李金龙的博客:www.lijinlong.cc'
  2. >>> url.islower()
  3. True
  4. >>> url ='李金龙的博客:www.lijinlong.Cc'
  5. >>> url.islower()
  6. False
  • isnumeric(),字符串只包含数字字符,是返回True,否返回False
  1. >>> url2.isnumeric()
  2. True
  • isspace(),字符串只包含空格,是返回True,否返回False
  1. >>> url3='   '
  2. >>> url3.isspace()
  3. True
  • isspace(),字符串只包含空格,是返回True,否返回False
  1. >>> url3='   '
  2. >>> url3.isspace()
  3. True
  • istitle(),字符串是标题化(首字母大写,其余小写),是返回True,否返回False,使用了title()转换了原本全小写的变量值
  • titile(),返回标题化
  1. >>> url3
  2. 'lijinlong'
  3. >>> url3=url3.title()
  4. >>> url3.istitle()
  5. True
  • isupper(),字符串中至少包含一个区分大小写的字符,且字符均为大写
  1. >>> url ='www.lijinlong.cc'
  2. >>> url=url.upper()
  3. >>> url.isupper()
  4. True
  • join(sub),以字符串作为分隔符,插入到sub所有的字符之间
  1. >>> url ='www.lijinlong.cc'
  2. >>> ','.join(url)
  3. 'w,w,w,.,l,i,j,i,n,l,o,n,g,.,c,c'
  • center(width),字符串居中,width表示左右两侧使用空格填充长度,长度包含字符串本身
  • ljust(width),返回一个左对其的字符串,并使用空格填充至长度为width的新字符串
  • rjust(width),返回一个右对其的字符串,并使用空格填充至长度为width的新字符串
  • zfill(width),返回长度为width的字符串,原字符串右对齐,前边用0填充
  1. >>> url.center(10)
  2. 'WWW.LIJINLONG.CC'
  3. >>> url.center(20)
  4. '  WWW.LIJINLONG.CC  '
  1. >>> url.ljust(30)
  2. 'www.lijinlong.cc              '
  3. >>> url.rjust(30)
  4. '              www.lijinlong.cc'
  1. >>> url.zfill(30)
  2. '00000000000000www.lijinlong.cc'
  • lower(),转换字符串大写为小写
  • upper(),转换字符串小写为大写
  1. >>> url=url.upper()
  2. >>> url
  3. 'WWW.LIJINLONG.CC'
  4. >>> url.lower()
  5. 'www.lijinlong.cc'
  • strip([chars]),默认删除字符串前后的所有空格,chars参数可以定制删除的字符
  • lstrip(),去掉左边的所有空格
  • rstrip(),去掉左边的所有空格
  1. >>> url
  2. '       WWW.LIJINLONG.CC       '
  3. >>> url.lstrip()
  4. 'WWW.LIJINLONG.CC       '
  5. >>> url.rstrip()
  6. '       WWW.LIJINLONG.CC'
  7. >>> url.strip('W')
  8. '       WWW.LIJINLONG.CC       ' # 内容中包含空格,无法删除其参数中要求的字符串
  9. >>> url=url.strip()
  10. >>> url
  11. 'WWW.LIJINLONG.CC'
  12. >>> url.strip('W')
  13. '.LIJINLONG.CC' #无空格状态下,可以删除
  • partition(),找到字符串sub,把字符串分成3个元祖(字符串前面,字符串本身,字符串后面),如不包含返回('原字符串','','')
  • rpartition(),从右侧开始查找
  1. >>> url.partition('I')
  2. ('WWW.L', 'I', 'JINLONG.CC')
  3. >>> url.partition('q')
  4. ('WWW.LIJINLONG.CC', '', '')
  5. >>> url.rpartition('I')
  6. ('WWW.LIJ', 'I', 'NLONG.CC')
  • replace(old,new,count),把old字符串替换为new字符串,count表示替换次数
  1. >>> url.replace('W','w',2)
  2. 'wwW.LIJINLONG.CC'
  • split(sep=None,maxsplit=-1),不带参数默认是以空格为分割符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表(2017/05/17修复下面的内容)
  1. url  = ' WWW. LIJIN LONG.CC '
  2. url_sq =url.split()
  3. print(url_sq) #['WWW.', 'LIJIN', 'LONG.CC']
  • spletlines([keepends]),按照'\n'分割,返回一个包含各行为元素的列表,如果keepens参数指定,则返回前keeends行
  1. >>> url ='www.\nlijinlong.\ncc'
  2. >>> print(url)
  3. www.
  4. lijinlong.
  5. cc
  6. >>> url.splitlines()
  7. ['www.', 'lijinlong.', 'cc']
  8. >>> url.splitlines(True)
  9. ['www.\n', 'lijinlong.\n', 'cc']
  • startswith(prefix,[start,[end]]),检查字符串是否以prefix开头,是则返回True,否则返回False,start和end区域选择。
  1. >>> url.startswith('ww')
  2. True
  • swapcase(),翻转字符串的大小写
  1. >>> url.swapcase()
  2. 'WWW.\nLIJINLONG.\nCC'
  • translate(table),根据table的规则(可以由str.maketrans('a','b')定制)转换字符串中的字符
  1. >>> url
  2. 'www.\nlijinlong.\ncc'
  3. >>> url.translate(str.maketrans('www','WWW'))
  4. 'WWW.\nlijinlong.\ncc'
  5. >>> str.maketrans('www','WWW')
  6. {119: 87}

单词扩展:

  • apitalize :以大写字母写
  • center :中心
  • count :计算
  • encode :编码
  • end : 结尾
  • swith : 快速
  • expand : 扩展

扩展阅读:


版权注释:

Python课程来源于鱼C论坛:http://bbs.fishc.com/forum-243-1.html 版块,课程内容为免费内容,如果你喜欢该课程,建议购买VIP账号支持小甲鱼,官方网店:https://fishc.taobao.com/)。

本内容为在李金龙在学习课程中做的日记记录,方便自己以后查找相关信息,另一方面也希望自己写下的东西可以帮助到别人。

课程内容:http://blog.fishc.com/2917.html

李金龙

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: