[阶段一] 3. Python字符串常用方法

逃离我推掉我的手 2022-09-04 03:44 289阅读 0赞

python字符串常用方法

  • 什么是对象?

python中的一切都是对象,每个对象都有自己的属性与方法。

对象的特点就是它的属性,对象的功能就是它的方法(函数)。字符串就内置了很多函数。

  • capitalize 函数:

capitalize 函数的功能是将字符串的首字母大写、其余字母小写。

用法:newstring = string.capitalize(),括号内无参数。示例:

  1. >>> name = 'xiaobai'
  2. >>> newname = name.capitalize()
  3. >>> newname
  4. 'Xiaobai'

使用 capitalize 函数需要注意:

  1. 只对第一个字母有效
  2. 只对字母有效
  3. 如果首字母已经大写,则无效
  • casefoldlower 函数:

casefoldlower 函数的功能都是将字符串全部小写。

用法:newstring = string.casefold()newstring = string.lower(),括号内无参数。示例:

  1. >>> name = 'XIAOBAI'
  2. >>> newname = name.casefold()
  3. >>> newname
  4. 'xiaobai'
  5. >>> name = 'XIAOBAI'
  6. >>> newname = name.lower()
  7. >>> newname
  8. 'xiaobai'

使用 casefoldlower 函数需要注意:

  1. 只对字符串中的字母有效
  2. 如果字符串的所有字母已经小写,则无效
  3. casefold 可以将更多语种的字母转为小写,而 lower 只针对英文字母转为小写
  • upper 函数:

upper 函数的功能是将字符串全部大写。

用法:newstring = string.upper(),括号内无参数。示例:

  1. >>> name = 'xiaobai'
  2. >>> newname = name.upper()
  3. >>> newname
  4. 'XIAOBAI'

使用 upper 函数需要注意:

  1. 只对字符串中的字母有效
  2. 如果字符串的所有字母已经大写,则无效
  • swapcase 函数:

swapcase 函数的功能是将字符串中的所有字母进行大小写转换,大写转为小写、小写转为大写。

用法:newstring = string.swapcase(),括号内无参数。示例:

  1. >>> name = 'XiaoBai'
  2. >>> newname = name.swapcase()
  3. >>> newname
  4. 'xIAObAI'

使用 swapcase 函数需要注意:

  1. 只对字符串中的字母有效
  • zfill 函数:

zfill 函数的功能是为字符串定义长度,如不满足,缺少的部分在字符串前面用 0 填补。

用法:newstring = string.zfill(width),参数是字符串的长度。示例:

  1. >>> name = 'xiaobai'
  2. >>> newname = name.zfill(10)
  3. >>> newname
  4. '000xiaobai'

使用 zfill 函数需要注意:

  1. 与字符串的字符无关
  2. 如果定义的长度小于当前字符串长度,则不发生变化
  • count 函数:

count 函数的功能是返回当前字符串中某个元素的个数。

用法:inttype = string.count(item),参数是查询个数的元素。示例:

  1. >>> name = 'my name is xiaobai'
  2. >>> newname = name.count('i')
  3. >>> newname
  4. 3

使用 count 函数需要注意:

  1. 如果查询的元素不存在,则返回 0
  • startswithendswith 函数:

startswith 函数的功能是判断字符串开头是否是某个成员(元素),endswith 函数的功能是判断字符串结尾是否是某个成员(元素)。

用法:booltype = string.startswith(item, start, end)booltype = string.endswith(item, start, end),参数是查询匹配的元素,startend 是可选参数,表示在指定范围内检查字符串是否以指定内容开头。示例:

  1. >>> name = 'my name is xiaobai'
  2. >>> newname = name.startswith('my')
  3. >>> newname
  4. True
  5. >>> newname = name.endswith('my')
  6. >>> newname
  7. False
  • findindex 函数:

findindex 函数的功能都是返回查询的成员(元素)的位置(索引)。

用法:inttype = string.find(item)inttype = string.index(item),参数是查询位置的元素。示例:

  1. >>> name = 'my name is xiaobai'
  2. >>> name.find('n')
  3. 3
  4. >>> name.index('x')
  5. 11

使用 findindex 函数需要注意:

  1. 字符串里的位置(索引)是从左向右,从 0 开始的
  2. 如果 find 找不到元素,会返回 -1;如果 index 找不到元素,会报错
  • strip 函数:

strip 函数的功能是去掉字符串左右两边的指定元素,默认是空格。

用法:newstring = string.strip(item),参数是想要去除的元素。示例:

  1. >>> name = ' my name is xiaobai '
  2. >>> newname = name.strip()
  3. >>> newname
  4. 'my name is xiaobai'
  5. >>> name = 'my name is xiaobai'
  6. >>> newname = name.strip('my')
  7. >>> newname
  8. ' name is xiaobai'
  9. >>> newname = name.strip('name')
  10. >>> newname
  11. 'y name is xiaobai'

使用 strip 函数需要注意:

  1. 传入的元素如果不在开头或结尾,则无效
  2. lstrip 仅去掉字符串开头的指定元素,默认是空格
  3. rstrip 仅去掉字符串结尾的指定元素,默认是空格
  • replace 函数:

replace 函数的功能是将字符串中的元素替换为指定的元素,并且能指定替换的数量。

用法:newstring = string.replace(old, new, max),参数 old 表示被替换的元素,new 表示新指定的元素,max 可选,表示替换元素的数量,默认全部替换。示例:

  1. >>> name = 'my name is xiaobai'
  2. >>> newname = name.replace('xiaobai', 'xiaohei')
  3. >>> newname
  4. 'my name is xiaohei'
  • isspace 函数:

isspace 函数的功能是判断字符串是否是一个仅由空格组成的字符串,返回 TrueFlase

用法:booltype = string.isspace(),括号内无参数。示例:

  1. >>> ' xiaobai'.isspace()
  2. False
  3. >>> ' '.isspace()
  4. True
  5. >>> 'my name is xiaobai'.isspace()
  6. False

注意:由空格组成的字符串不是空字符串,即 '' != ' '

  • istitle 函数:

istitle 函数的功能是判断字符串是否是一个标题类型(单词首字母大写)的字符串,返回 TrueFlase

用法:booltype = string.istitle(),括号内无参数。示例:

  1. >>> 'My name is xiaobai'.istitle()
  2. False
  3. >>> 'My Name Is Xiaobai'.istitle()
  4. True
  5. >>> 'MY NAME IS XIAOBAI'.istitle()
  6. False

使用 istitle 函数需要注意:

  1. 该函数仅适用于英文单词
  • isupper 函数:

isupper 函数的功能是判断字符串是否是一个仅由大写字母组成的字符串,返回 TrueFlase

用法:booltype = string.isupper(),括号内无参数。示例:

  1. >>> 'xiaobai'.isupper()
  2. False
  3. >>> 'XIAOBAI'.isupper()
  4. True
  5. >>> 'MY NAME IS XIAOBAI'.isupper()
  6. True

使用 isupper 函数需要注意:

  1. 该函数仅检查字符串里的字母,对其他字符不做判断
  • islower 函数:

islower 函数的功能是判断字符串是否是一个仅由小写字母组成的字符串,返回 TrueFlase

用法:booltype = string.islower(),括号内无参数。示例:

  1. >>> 'xiaobai'.islower()
  2. True
  3. >>> 'XIAOBAI'.islower()
  4. False
  5. >>> 'MY NAME IS XIAOBAI'.islower()
  6. False

使用 islower 函数需要注意:

  1. 该函数仅检查字符串里的字母,对其他字符不做判断
  • 字符的编码格式:

编码是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。常见的编码格式有 ASCII、ANSI、GBK、GB2312、UTF-8、GB18030 和 UNICODE 等。

UTF-8 就是一种国际通用的编码格式,不管是中文还是英文,都可以成功的编解码。


字符串的格式化

  • 什么是格式化?

一个固定的字符串中,有部分元素是根据变量的值改变而改变,就称之为字符串的格式化。

对于重复性很大的信息,通过格式化的形式,可以减少代码的书写量。

  • 根据类型定义的格式化:

格式化使用操作符 % 来实现;字符串用 %s 来表示,整型用 %d 来表示。示例:

  1. >>> print('my name is %s, my age is %d' % ('xiaobai', 18))
  2. my name is xiaobai, my age is 18
  3. >>> list_1 = ['python', 'django', 'flask']
  4. >>> print('my name is %s, my age is %s my book is %s' % ('xiaobai', 18, list_1))
  5. my name is xiaobai, my age is 18 my book is ['python', 'django', 'flask']
  6. >>> dict_1 = { 'a': 1, 'b': 2, 'c': 3}
  7. >>> print('the dict is %s' % (dict_1))
  8. the dict is { 'a': 1, 'b': 2, 'c': 3}

格式化字符串与格式化变量之间用一个 % 连接,% 两边各有一个空格。

  • 字符串格式化函数 - format

format 函数的功能是用来格式化字符串,使用 format 的字符串主体使用 {} 来替代格式符。

用法:newstring = string.format(*item),参数是可变参数。示例:

  1. >>> name = 'my name is {}, my age is {}, my book is {}'
  2. >>> newname = name.format('xiaobai', 18, dict_1)
  3. >>> print(newname)
  4. my name is xiaobai, my age is 18, my book is { 'a': 1, 'b': 2, 'c': 3}
  5. >>> name = 'my name is {0}, my age is {1}, my book is {2}'
  6. >>> newname = name.format('xiaobai', 18, dict_1)
  7. >>> print(newname)
  8. my name is xiaobai, my age is 18, my book is { 'a': 1, 'b': 2, 'c': 3}
  • python3.6加入的新格式化方式:

定义一个变量,在字符串前面加 f,在字符串中需要格式化的位置使用 {变量名} 即可。

用法:newstring = f'string',变量需要提前定义好。示例:

  1. >>> name = 'xiaobai'
  2. >>> age = 18
  3. >>> print(f'my name is { name}, my age is { age}')
  4. my name is xiaobai, my age is 18
  • 格式化符号:

格式化符号就是用于对应各种数据类型的格式化的符号。常用的如下:










































符号 说明
%s 格式化字符串,通用类型
%d 格式化整型
%f 格式化浮点型
%u 格式化无符号整型(正整型)
%c 格式化字符,即长度为 1 的字符串
%o 格式化无符号8进制数
%x 格式化无符号16进制数
%e 科学计数法格式化浮点数
  • 字符串的转义字符:

将特定的字符转成其他含义的功能,这样的字符称之为转义字符。常用的如下:


















































符号 说明
\n 换行符,一般用于末尾
\t 横向制表符,即 tab
\v 纵向制表符
\a 响铃
\b 退格符,将光标迁移,覆盖(删除前一个)
\r 回车
\f 翻页
转义字符串中的单引号
转义字符串中的双引号
\ 转义 \,让 \ 不转义其他字符

在 python 中,在字符串前加 r 来将当前字符串的转义字符无效化,或者使用 \\ 使转义字符无效。示例:

  1. >>> print(r'hello, xiaobai \f')
  2. hello, xiaobai \f
  3. >>> print('hello, xiaobai \\f')
  4. hello, xiaobai \f
  5. >>> print(r'hello, xiaobai \\')
  6. hello, xiaobai \\

发表评论

表情:
评论列表 (有 0 条评论,289人围观)

还没有评论,来说两句吧...

相关阅读