(三)字符串常用内置方法和三种字符串格式化方法

字符串常用内置方法

  • capitalize函数
    将字符串的首字母大写,其他字母小写,只对字母有效,正常是新的字符串,对原字符串不影响
    用法:newstr = string.capitalize()
name = 'shai shai'
new_name = name.capitalize()
print(new_name)   # Shai shai
  • upper函数和lower/casefold函数
    将字符串全体大写/小写,支队字符串中的字母有效,如已经为大写或小写,则无效
    casefold可以对更多语种的字母大写变成小写,不过平时使用lower就足够了
    用法:bigstr = string.upper()
    smallstr = string.lower()
    smallstr = string.casefold()
name = 'shai shai 是蠢狗'
big_name = name.upper()
print(big_name)  # SHAI SHAI 是蠢狗
small_name = big_name.lower()
print(small_name)	#shai shai 是蠢狗
small_names = big.name.casefold()	#shai shai 是蠢狗
  • swapcase函数
    将字符串中大小写字符转换,也只对字母有效,其他类型没影响
    用法:str = string.swapcase()
name = '狗狗姓名:Shai Shai'
new_name = name.swapcase()
print(new_name)		# 狗狗姓名:sHAI sHAI
  • zfill函数
    为字符串定义长度,如不满足,缺少的部分用0填补,与字符串的字符无关,作用于任何类型,如定义长度小于当前字符串长度,则不发生变化
    用法:newstr = string.zfill(width)
    参数with:新字符串希望的长度
name = '狗狗姓名是:Shai Shai'
new_name = name.zfill(20)
print(new_name)		# 00000狗狗姓名是:Shai Shai
  • count函数
    返回当前字符串某个成员(元素)的个数,查询元素不存在时,则返回0
    用法:intype = string.count(item)
    参数item:查询个数的元素
info = 'my name is shaishai'
count = info.count('s')
print(count)		# 3
count = info.count('b')
print(count)		# 0
  • startswith和endswith函数
    startswith判断开始位是否是某元素
    endswith判断结尾位是否是某元素
    用法:string.startswith/endswith(item) -->你想查询匹配的元素,返回一个布尔值
print('my name is shaishai'.endswith('my'))		# False
print('my name is shaishai'.startswith('my'))		# True
  • find和index函数
    都是返回你想寻找的成员的位置
    用法:string.find/index(item) -->item:你想查询的元素,返回一个整型,字符串里的位置从左向右,以0开始.
    不同:index找不到元素时,会报错;find不会报错,所以多数情况都是使用find
name = 'my name is shaishai'
i = name.find('s')
print(i)	# 9
j = name.index('n')
print(j)	# 3
print(name.index('yanmai'))	# ValueError: substring not found
print(name.find('yanmai'))	# -1
  • strip函数
    将去掉字符串左右两边指定元素,默认是空格
    用法:newstr = string.strip(item) -->item可不填,默认为空格。
    传入的元素如果不在开头或结尾则无效
    lstrip仅去掉字符串开头的指定元素或空格
    rstrip 仅去掉字符串结尾的指定元素或空格
s = 'yan mai dd'
print(s.strip('y'))	#an mai dd
print(s.strip('d'))	#yan mai 
print(s.strip("m"))	#yan mai dd	元素不在开头或结尾,则未有效果info = 'abcdea'
print(info.strip('a'))	#bcde	开头和结尾都存在指定元素‘a’,所以同时去掉了
print(info.lstrip('a'))	#bcdea
print(info.rstrip('a'))	#abcdeinfos = ' shaishai '
print(infos.strip())	#shaishai  去掉了左右两边的空格
  • replace函数
    将字符串中的old(旧元素)替换成new(新元素),并能指定替换的数量
    用法:newstr = string.replace(old,new,max)
    old:被替换的元素
    new:替代old的元素
    max:可选,代表替换几个,默认全部替换全部匹配的old元素
name = 'xixi is a cat'
print(name.replace('xi','shai'))	#未填入替换数量,默认全部替换 shaishai is a cat
print(name.replace('xi','shai',1))	#仅替换1个   shaixi is a catinfo = '今天是另人沮丧的一天,天是灰色的,心情很down'
print(info.replace('今天','昨天').replace('沮丧','开心').replace('灰色','带**').replace('down','nice'))	#昨天是另人开心的一天,天是带**的,心情很nice

字符串中返回bool类型的函数集合

  • isspace
    判断字符串是否是一个由空格组成的字符
    用法:booltype = string.isspace() -->无参数可传,返回一个布尔类型
s = '   '
print(s.isspace())	#True
ss = 'shai shai'
print(ss.isspace())	#False

由空格组成的字符串,不是空字符串:"!="

  • istitle
    判断字符串是否是一个标题类型(英文单词首字母为大写,其余为小写),只能判断英文字母
    用法:booltype = string.istitle() -->无参数可传,返回一个布尔类型
name = 'Shai Shai'
print(name.istitle())	#True
name = 'shaishai'
print(name.istitle())	#False
  • isupper与islower
    判断字符串中的字母是否都是大小写,只检测字符串里的字母,对其他字符不做判断
    用法:booltype = string.isupper() -->无参数可传,返回一个布尔类型
name = 'Shai Shai'
print(name.isupper())	#False
print(name.islower())	#False
name = 'SHAISHAI和我'
print(name.isupper())	#True	
name = 'shaishai'
print(name.islower())	#True
  • join与split
    在后续介绍类型转化的文章再详细记录

字符串的编码格式
1.什么是编码格式?
有一定规则,使用这种规则,就能知道传输的信息是什么意思
常见的编码格式:
在这里插入图片描述
在这里插入图片描述
2.字符串的格式化方式:
一个固定的字符串中有部分元素是根据变量的值而改变的字符串

  • 字符串格式化使用操作符%来实现
    %后面可以接列表,字典和元祖
info = 'my name is %s, my age is %s' % ('xixi',2)
print(info)	#my name is xixi, my age is 2
  • 字符串格式化函数-format
    string.format函数用例格式化字符串
    使用format的字符串主体使用{}大括号来替代格式符
    string.format(data,data,data…)
info = '今天天气{},适合带{}和{}一起出去玩'.format('很好','兮兮','晒晒')	
print(info)	# 今天天气很好,适合带兮兮和晒晒一起出去玩
  • python3.6加入的新格式化方案-f-strings
    定义一个变量,字符串前加f符号,需要格式化的位置使用{变量名}
name = '晒晒'
age = 6
info = f'我有一条狗,它叫{name},今年{age}岁了'
print(info)	#我有一条狗,它叫晒晒,今年6岁了

平时比较常用的是format函数,官方也是推荐这个函数
3.字符串格式化的符号
在这里插入图片描述
在这里插入图片描述
4.字符串的转义字符
在这里插入图片描述

>>> info = 'my \nee'
>>> print(info)
my 
ee
>>> info = 'my \tee'
>>> print(info)
my      ee
>>> info = 'my \vee'
>>> print(info)
my ee
>>> a = '\a'
>>> print(a)  #会有响铃声音
>>> info = 'my \bee'
>>> print(info)
myee	#光标向前移,删除前一个
>>> info = 'my \ree'
>>> print(info)
ee  #会把\r之前的内容都删除掉
>>> info = 'my \fee'
>>> print(info)
my ee 
>>> info = 'my \'ee'
>>> print(info)
my 'ee
>>> info = 'my \"ee'
>>> print(info)
my "ee
>>> info = 'my \\ee'
>>> print(info)
my \ee


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部