Python_Day_02 str内部方法总结

刚开始学习Python,看了一天的字符串内部方法,现在来总结一下。

  • capitalize(self) 将一句话的首字母变大写,其他字母都变小
 name = "love PyThon"
# capitalize(self)
result1 = name.capitalize() #将一句话的首字母变大写,其他字母都变小
print('result1:%s'%result1)

打印结果:

 result1:Love python
  • casefold(self) 官方解释比较霸道,确实是比较霸道,所有的字母都变成小写,不过好像用的不多
 # casefold(self)
name = 'HELLo Python My Name IS RookieJX'
result2 = name.casefold()
print('result2:%s'%result2)

  打印结果:

 result2:hello python my name is rookiejx
  • center(self, width, fillchar=None) 这个是将原字符串居中,如果self长度小于width,那么多余的部分就用 fillchar 字符填充并,默认为空格,如果多余的是奇数,那么最后多余的一个就填充到左边。其中fillchar只能为单个字符。
 # center(self, width, fillchar=None)
name = 'Python'
result3 = name.center(9,"H")
print('result3:%s'%result3)

  打印结果:

 result3:HHPythonH
  • count(self, sub, start=None, end=None) 查询某个字符或者字符串在self中出现的次数,默认是在整个self上查询,也可以自定义位置
 # count(self, sub, start=None, end=None)
name = 'Hello Python'
result4 = name.count("lo",0,40)
print('result4:%s'%result4)

  打印结果:

 result4:1
  • encode(self, encoding='utf-8', errors='strict') 编码为utf-8格式编码,如果出错使用严格,其他还有'ignore', 'replace' 等
 # encode(self, encoding='utf-8', errors='strict')
name = 'Hello Python'
result5 = name.encode('utf-8','strict')
print('result5:%s'%result5)

  打印结果:

 result5:b'Hello Python'
  • endswith(self, suffix, start=None, end=None) 以什么为结束,默认是整个字符串,可以自己选择长度
 # endswith(self, suffix, start=None, end=None)
name = 'Hello Python'
result6 = name.endswith('o',0,3)
print('result6:%s'%result6)

  打印结果:

 result6:False
  • expandtabs(self, tabsize=8) 将字符串中所有的tab键转换成空格键,默认为8
 # expandtabs(self, tabsize=8)
result7 = 'hate\tPython'
print('origin result7:%s'%result7)
result8 = result7.expandtabs() #将字符串中所有的tab键转换成空格键,默认为8
print('result8:%s'%result8)
result9 = result7.expandtabs(20) #更改默认值
print('result9:%s'%result9)

  打印结果:

 origin result7:hate    Python
result8:hate Python
result9:hate Python
  • find(self, sub, start=None, end=None) 查找某个字符或者字符串在字符串中的下标,默认为查找全部字符串
 # find(self, sub, start=None, end=None)
name = 'Hello Python'
result10 = name.find('P') #查找某个字符或者字符串在字符串中的下标,默认为查找全部字符串
print('result10:%s'%result10)
result11 = name.find('P',0,4) #可以自定义查找范围,如果没有就返回 -1
print('result11:%s'%result11)

  打印结果:

 result10:6
result11:-1
  • format(*args, **kwargs) 好像很暴力的样子,格式化字符串,有很多用法
 # format(*args, **kwargs)
# 好像很暴力的样子,格式化字符串,有很多用法
# 1.可以使用 {} 用作占位符 这里分割的时候需要使用 . 不是用 , 这点需要注意
print('I am {},I {} '.format('rookieJX','Love Python'))
# 2.也可以使用 {0} {1}等样式的占位符
print('I am {1},I {0}'.format('Love Python','rookieJX'))
# 3.还可以使用变量形式的占位符
print('My job is {job}'.format(job = 'IT'))
# 4.还可以混合使用
print('I am {1},My job is {job}'.format('haha','rookieJX',job = 'IT'))

  打印结果:

 I am rookieJX,I Love Python
I am rookieJX,I Love Python
My job is IT
I am rookieJX,My job is IT
  • format_map(self, mapping) 暂时了解的还不多
  • index(self, sub, start=None, end=None) 类似于find方法,但是当要查找的字符串不在查找的字符串中的话会报错
 # index(self, sub, start=None, end=None)
name = 'Hello Python'
result12 = name.index('P') # 类似于find方法,但是当要查找的字符串不在查找的字符串中的话会报错
print('result12:%s'%result12)
result13 = name.index('P',0,10) # 还可以自定义限制查找的范围
print('result13:%s'%result13)

  打印结果:

 result12:6
result13:6
  • isalnum(self) 字符串中至少有一个字符,并且所有的字符都是字母或者数字返回为True 否则返回为 False (空格也返回False)
 # isalnum(self)
name = 'Hello Python'
result14 = name.isalnum() # 字符串中至少有一个字符,并且所有的字符都是字母或者数字返回为True 否则返回为 False (空格也返回False)
print('result14:%s'%result14)

  打印结果:

 result14:False
  • isalpha(self) 字符串中至少有一个是字符,并且所有的字符都是字母返回为 True 否则返回为 False (空格也返回False)
 # isalpha(self)
name = 'Hello Python'
result15 = name.isalpha()
print('result15:%s'%result15) # 字符串中至少有一个是字符,并且所有的字符都是字母返回为 True 否则返回为 False (空格也返回False)

  打印结果:

 result15:False
  • isdecimal(self) 判断字符串是否是十进制整数,如果不是返回为 False ,如果不是字符串就会报错
 # isdecimal(self)
namedeclimal = "324.2" # 判断字符串是否是十进制整数,如果不是返回为 False ,如果不是字符串就会报错
result16 = namedeclimal.isdecimal()
print('result16:%s'%result16)

  打印结果:

 result16:False
  • isdigit(self) 判断字符串中是否只包含数字
 # isdigit(self)
namedeclimal = "324.2"
result17 = namedeclimal.isdigit() # 判断字符串中是否只包含数字
print('result17:%s'%result17)

  打印结果:

 result17:False
  • isidentifier(self) 判断字符串是否是关键字
 # isidentifier(self)
result18 = 'str'.isidentifier() # 判断字符串是否是关键字
print('result18:%s'%result18)

  打印结果:

 result18:True
  • islower(self) 字符串中至少有一个字符,字符全部为小写就返回 True
 # islower(self)
name = 'Hello Python'
result19 = name.islower() # 字符串中至少有一个字符,字符全部为小写就返回 True
print('result19:%s'%result19)

  打印结果:

 result19:False
  • isnumeric(self) 字符串中如果全部都是数字字符返回 True 貌似跟 isdecimal 差不多,暂时还没有发现有什么不同的用法
 # isnumeric(self)
result20 = ''.isnumeric() # 字符串中如果全部都是数字字符返回 True 貌似跟 isdecimal 差不多,暂时还没有发现有什么不同的用法
print('result20:%s'%result20)

  打印结果:

 result20:True
  • isprintable(self) 判断字符串中所有字符是否是可见状态
 # isprintable(self)
result21 = 'I\aPython'.isprintable() # 判断字符串中所有字符是否是可见状态
print('result20:%s'%result21)

  打印结果:

 result20:False
  • isspace(self) 字符串中如果只至少有一个字符,并且全部为空格时 返回为True
 # isspace(self)
result22 = ' '.isspace() # 字符串中如果只至少有一个字符,并且全部为空格时 返回为True
print('result22:%s'%result22)

  打印结果:

 result22:True
  • istitle(self) 字符串是否为标题格式 就是每个单词首字母都是大写
 # istitle(self)
result23 = 'This Is Python'.istitle() # 字符串是否为标题格式 就是每个单词首字母都是大写
print('result23:%s'%result23)

  打印结果:

 result23:True
  • isupper(self) 字符串至少有一个字符 判断字符是否是大写 如果是大写就返回 True (只会判断其中的英文字符,特殊符号,数字不会判断)
 # isupper(self)
result24 = 'NAME.803'.isupper() # 字符串至少有一个字符 判断字符是否是大写 如果是大写就返回 True (只会判断其中的英文字符,特殊符号,数字不会判断)
print('result24:%s'%result24)

  打印结果:

 result24:True
  • join(self, iterable) 将self字符串用iterable打散,每个两个字符串之间插入 iterable 字符串
 # join(self, iterable)
name = 'Hello Python'
result25 = name.join('Hello World') # 将iterable字符串打散,每个两个字符串之间插入 string 字符串
print('result25:%s'%result25)

  打印结果:

 result25:HHello PythoneHello PythonlHello PythonlHello PythonoHello Python Hello PythonWHello PythonoHello PythonrHello PythonlHello Pythond
  • ljust(self, width, fillchar=None) 原字符串左对齐,总字符串长度为自定义长度,右边填充字符 默认为空格 如果定义长度小于元字符串长度,则不会进行操作
 # ljust(self, width, fillchar=None)
name = 'Hello Python'
result26 = name.ljust(23,'H') # 原字符串左对齐,总字符串长度为自定义长度,右边填充字符 默认为空格 如果定义长度小于元字符串长度,则不会进行操作
print('result26:%s'%result26)

  打印结果:

 result26:Hello PythonHHHHHHHHHHH
  • lower(self) 拷贝一份原有的字符串,并将之变为小写 貌似跟casefold效果一样的
 # lower(self)
name = 'Hello Python'
result27 = name.lower() # 拷贝一份原有的字符串,并将之变为小写 貌似跟casefold效果一样的
print('result27:%s'%result27)

  打印结果:

 result27:hello python
  • lstrip(self, chars=None) 默认截掉字符串左边的空格,如果自定义字符,那么字符必须是从字符串的开始才能截取成功
 # lstrip(self, chars=None)
result28 = ' Hello'.lstrip() # 默认截掉字符串左边的空格,如果自定义字符,那么字符必须是从字符串的开始才能截取成功
print('result28:%s'%result28) result29 = 'Hello'.lstrip('H') # 默认截掉字符串左边的空格,如果自定义字符,那么字符必须是从字符串的开始才能截取成功
print('result29:%s'%result29)

  打印结果:

 result28:Hello
result29:ello
  • maketrans(self, *args, **kwargs) 构建替换映射表,首先构建映射对应表格,映射前为intab,映射后为outtab.然后构建对应表格maketrans,最后开始转换
 # maketrans(self, *args, **kwargs)
intab = "aeiou"
outtab = ""
intro = "hello python in my heart"
result29 = str.maketrans(intab,outtab)
result30 = intro.translate(result29) # 构建替换映射表,首先构建映射对应表格,映射前为intab,映射后为outtab.然后构建对应表格maketrans,最后开始转换
print('intro:%s'%result30)

  打印结果:

 intro:h2ll9 pyth9n 3n my h21rt
  • partition(self, sep) 根据指定字符串来分割原字符串,如果原字符串存在指定字符串,结果为 分割左边原字符串,指定字符串,分割后右字符串...如果不存在指定字符串则返回原字符串,只会分割出现的第一个位置
 # partition(self, sep)
test = 'Hello Python , Hello Python ,Hello World'
result31 = test.partition('P') # 根据指定字符串来分割原字符串,如果原字符串存在指定字符串,结果为 分割左边原字符串,指定字符串,分割后右字符串...如果不存在指定字符串则返回原字符串,只会分割出现的第一个位置
print('result31:',result31)

  打印结果:

 result31: ('Hello ', 'P', 'ython , Hello Python ,Hello World')
  • replace(self, old, new, count=None) 替换字符串.最大不超过多少次
 # replace(self, old, new, count=None)
result32 = 'love python love python love python love python love python '.replace('love','hate',3) # 替换字符串.最大不超过多少次
print('result32:%s'%result32)

  打印结果:

 result32:hate python hate python hate python love python love python 
  • rfind(self, sub, start=None, end=None) 查找指定字符串在原字符串中最右边的位置,默认为整个字符串
 # rfind(self, sub, start=None, end=None)
result33 = 'love python love '.rfind('lo') # 查找指定字符串在原字符串中最右边的位置,默认为整个字符串
print('result33:%s'%result33)

  打印结果:

 result33:12
  • rindex(self, sub, start=None, end=None) 查找指定字符串在原字符串中最右边的位置,默认为整个字符串,跟rfind效果差不多,但是如果找不到就会报错
 # rindex(self, sub, start=None, end=None)
result34 = 'love python love '.rindex('lo') # 查找指定字符串在原字符串中最右边的位置,默认为整个字符串,跟rfind效果差不多,但是如果找不到就会报错
print('result34:%s'%result34)

  打印结果:

 result34:12
  • rjust(self, width, fillchar=None) 返回一个右边对其的原字符串,默认用空格对其,可以自定义字符,但是如果是自定义字符串的话,那么自定义的字符串必须能被多余的空格整除,否则就会报错
 # rjust(self, width, fillchar=None)
name = "love PyThon"
result35 = name.rjust(50,'O') # 返回一个右边对其的原字符串,默认用空格对其,可以自定义字符,但是如果是自定义字符串的话,那么自定义的字符串必须能被多余的空格整除,否则就会报错
print('result35:%s'%result35)

  打印结果:

 result35:OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOlove PyThon
  • rpartition(self, sep) 类似于partition 只不过是从右边开始查找
 # rpartition(self, sep)
test2 = 'Hello Python ,Hello Python , Hello WoPrld'
result36 = test2.rpartition('P') # 类似于partition 只不过是从右边开始查找
print('result36:',result36)

  打印结果:

 result36: ('Hello Python ,Hello Python , Hello Wo', 'P', 'rld')
  • split(self, sep=None, maxsplit=-1) 根据指定字符串来分割字符串,如果指定最大分割字符串,那么久分割指定次数,如果不指定默认为-1也就是最大
 # split(self, sep=None, maxsplit=-1)
test3 = 'Hello Python ,Hello Python , Hello WoPrld'
result37 = test3.split('P',2) # 根据指定字符串来分割字符串,如果指定最大分割字符串,那么久分割指定次数,如果不指定默认为-1也就是最大
print('result37:',result37)

  打印结果:

 result37: ['Hello ', 'ython ,Hello ', 'ython , Hello WoPrld']
  • splitlines(self, keepends=None) 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符.默认为False
 # splitlines(self, keepends=None)
test4 = 'Hello\r Pyth\non ,Hel\r\nlo Python , Hello WoPrld'
result38 = test4.splitlines(True) # 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符.默认为False
print('result38:',result38)

  打印结果:

 result38: ['Hello\r', ' Pyth\n', 'on ,Hel\r\n', 'lo Python , Hello WoPrld']
  • startswith(self, prefix, start=None, end=None) 查看是否 以指定字符串为开头 并可以指定范围
 # startswith(self, prefix, start=None, end=None)
test5 = 'Hello\r Pyth\non ,Hel\r\nlo Python , Hello WoPrld'
result39 = test5.startswith('ell',0,30) # 查看是否 以指定字符串为开头 并可以指定范围
print('result39:',result39)

  打印结果:

 result39: False
  • strip(self, chars=None) 对字符串执行 去掉左右两边的空格,默认为取消空格,可以设置为指定字符
 # strip(self, chars=None)
test6 = 'H Hello Python ,Hello Python , Hello WoPrld H'
result40 = test6.strip('H') # 对字符串执行 去掉左右两边的空格,默认为取消空格,可以设置为指定字符
print('result40:',result40)

  打印结果:

 result40:     Hello Python ,Hello Python , Hello WoPrld    
  • swapcase(self) 翻转字符串中的大小写
 # swapcase(self)
test7 = 'H Hello Python ,Hello Python , Hello WoPrld H'
result41 = test7.swapcase() # 翻转字符串中的大小写
print('result41:',result41)

  打印结果:

 result41: h    hELLO pYTHON ,hELLO pYTHON , hELLO wOpRLD    h
  • title(self) 将字符串中每个单词首字母置为大写
 # title(self)
test8 = 'H hello python ,hello python , hello woPrld H'
result42 = test8.title() # 将字符串中每个单词首字母置为大写
print('result42:',result42)

  打印结果:

 result42: H    Hello Python ,Hello Python , Hello Woprld    H
  • translate(self, table)  与maketrans(self, *args, **kwargs)配合使用
  • upper(self) 将字符串改变为大写
 # upper(self)
test9 = 'H hello python ,hello python , hello woPrld H'
result43 = test9.upper() # 将字符串改变为大写
print('result43:',result43)

  打印结果:

 result43: H    HELLO PYTHON ,HELLO PYTHON , HELLO WOPRLD    H
  • zfill(self, width) 右边对齐,左边填充数字0,长度为自定义
 # zfill(self, width)
test10 = 'H hello python ,hello python , hello woPrld H'
result44 = test10.zfill(70) # 右边对齐,左边填充数字0,长度为自定义
print('result44:',result44)

  打印结果:

 result44: 0000000000000000000H    hello python ,hello python , hello woPrld    H
  • 暂未符号
myString = 'Python'
number = 1
print('%s is best! is %d'%(myString,number))

  打印结果

Python is best! is 1
上一篇:CTR学习笔记&代码实现4-深度ctr模型 NFM/AFM


下一篇:Focal Loss for Dense Object Detection - 1 - 论文学习