接下来我们会进入 字符串常用方法的应用阶段,重点学习字符串的内置函数。正式学习之前,我们要先了解一个词 对象 (划重点,不是男女朋友!),只有知道 对象是什么?才能更好的帮助我们接下来的学习。

什么是对象

对于 python 来说,对象的概念,更像是身份的概念,我们可以理解为 每一个 变量 其实就是 对象。

  • python 中一切皆是对象
  • 每个对象都有自己的属性和方法
  • 对象的特点就是它的属性,它的功能就是它的方法,也可以说是函数。比如字符串就有很多内置函数来帮助我们处理字符串。

python 万物皆是对象

python里面有一句话:万物解释对象

在编程领域中,通常把现实世界中的实体称为对象,例如:

  • 香蕉、苹果、橘子
  • 男人、女人、小孩
  • 飞机、地铁、突突车
  • 平房、楼房、小别墅

对象指的是一个具体的实体,不用于指代一个抽象的群体(或者也可以说是一个实体所处的群体)

  • 香蕉是一个具体的水果,所以可以说香蕉是一个对象
  • 它是一种水果,但水果是一个抽象的概念,指的是一群可食用的含水分和糖分较多的植物果实
  • 你可以说,香蕉、苹果、橘子是水果,但是不能说水果就只能是香蕉、只能是苹果、只能是橘子…
  • 所以不能说水果是一个对象

类似的,飞机、地铁这些具体的交通工具可以被称为对象,但是不能说交通工具是一个对象

字符串的索引

学习字符串的常用方法之前,我们再来吻戏一下字符串的索引

索引[]

通过索引 [] 获取字符串中指定位置的字符,示例如下:

  • 在 python 中,单个字符也被当作字符串来处理,即该字符串只包含一个字符
  • 在第 2 行,获取字符串 s 的第 0 个字符 ‘p’
  • 在第 4 行,获取字符串 s 的第 1 个字符 ‘y’
  • 在第 6 行,获取字符串 s 的第 1 个字符 ‘t’
  • 在第 8 行,获取字符串 s 的第 1 个字符 ‘h’
  • 在第 10 行,获取字符串 s 的第 1 个字符 ‘o’
  • 在第 12 行,获取字符串 s 的第 1 个字符 ‘n’

索引[:]

在 python 中,使用语法 string [start:end],获取字符串 string 中在 [start, end) 范围的子字符串。

注意范围 [start, end) 包含 start,不包含 end。也可以理解为是列表的 左闭右开原则 。

举例如下:

  • 在第 2 行,获取字符串 s 的第 1 个字符 ‘m’
  • 在第 4 行,获取字符串 s 的第 2 个字符 ‘o’
  • 在第 6 行,获取字符串 s 的第 3 个字符 ‘o’
  • 在第 8 行,获取字符串 s 中从 1 开始、到 4 结束的字符串 ‘mooc’,使用 s [1:4] 表示该范围,注意该范围包括字符串的第 1 个字符、不包括第 4 个字符。

字符串的常用方法

find()函数 与 index()函数

find() 函数与 index() 函数的功能:都是返回你想找的成员(元素)的位置

find() 函数的用法:str = string.finde(item) item:想要查询匹配的元素,返回一个整型

index() 函数的用法:str = string.index(item) item:想要查询匹配的元素,返回一个整型或者报错

附:字符串里的位置是从左向右从下标位[0]开始计算

find() 函数与 index() 函数的区别:

  • 如果 find() 函数 找不到c成员(元素),会返回 -1
  • 如果 index()函数 找不到成员(元素),会导致程序报错

startswith() 函数与 endswith() 函数

startswith() 函数的功能:判断字符串 开始位 是否是某成员(元素),可以指定统计的范围,[start,end) 左闭区间右开区间

startswith() 函数的用法:str = string.startswith(item) item:想要查询匹配的元素,返回一个布尔值

endswith() 函数的功能:判断字符串 结尾 是否是某成员(元素),可以指定统计的范围,[start,end) 左闭区间右开区间

startswith() 函数的用法:str = string.endswith(item) item:想要查询匹配的元素,返回一个布尔值

示例如下:

capitalize () 函数

capitalize 的功能 : 将字符串的首字母大写

capitalize 的用法:str = string.capitalize() ;

示例如下:

capitalize() 的注意事项:

  • 只对首字母有效
  • 只对字母有效
  • 已经是大写,则无效

capitalize()函数小练习

将han meimei转换成规范的英文名字,打印实现姓、名首字母都是大写

casefold()函数与lower()函数

casefold()函数与lower()函数 的功能 : 将字符串的全体字符小写

casefold()函数与lower()函数 的用法:str = string.casefold() , str = string.lower() ;

示例如下:

casefold()函数与lower()函数 的注意事项:

  • 只对字符串的字母有效
  • 已经是小写的字母无效

既然 casefold()函数与lower()函数 都可以将字符串的全体字符转为小写,那么又有什么区别呢?

其实还是有区别的,lower()函数是很早之前就存在的将字符串小写的方法,而casefold()函数则是 python3.3版本之后才引入的小写方法。lower()函数是将英文字符进行小写,但是对德语等其他非英语字符就失去了效果,这个时候就是 casefold() 函数大显身手的时候了。

casefold()函数与lower()函数 小练习

将下列三个验证码全部转为 小写

str_1 = “nah8”

str_2 = “sn6h”

str_3 = “hkfm”

upper() 函数

upper() 函数的功能:将字符串全体大写

upper() 函数的用法:str = string.upper()

示例如下:

capitalize 的注意事项:

  • 只对字符串的字母有效
  • 已经是大写的字母无效

swapcase() 函数

swapcase() 函数的功能:将字符串中的字符进行大小写转换

swapcase() 函数的用法:str = string.swapcase()

swapcase() 函数的注意事项:只对字符串的字母有效

zfill() 函数

zfill() 函数的功能:为字符串定义长度,如果现有字符串长度不满足,缺少的部分自动用 0 补齐

zfill() 函数的用法:str = string.zfill(width) width:新字符串希望的长度

zfill() 函数的注意事项:与字符串的字符没有关系;如果定义的字符串长度小于当前字符串长度,则不会发生变化。

count() 函数

count() 函数的功能:统计字符串出现的次数;或者说返回当前字符串某个成员(元素)出现的次数

count() 函数的用法:str = string.zfill(item) item:查询个数/次数的元素

count() 函数的注意事项:如果查询的成员(元素)不存在,则返回 0

strip()函数

strip() 函数的功能 :去掉字符串两边的指定元素,默认是空格

strip() 函数的用法 :str = string.strip(item) ,括弧里传一个想要去掉的成员(元素),可以不填写

strip() 函数的拓展 :

  • 传入的元素如果不在开头或者结尾则无效
  • lstrip 仅去掉字符串开头的指定元素或者是空格
  • rstrip 仅去掉字符串结尾的指定元素或者是空格

示例如下:

replace()函数

replace()函数的功能:把字符串中的 old(旧字符串) 替换成 new(新字符串),并可以指定数量,默认 -1 代表替换全部

replace()函数的用法:str = string.replace(old, new, max)

  • old :被替换的元素
  • new:替换 old 的元素
  • max:可选,代表替换几个,默认替换掉全部匹配到的 old 。

示例如下:

join() 函数

join()函数的功能:将序列中的元素以指定的字符连接生成一个新的字符串

join()函数的用法:str = “”.join(lists)

示例如下:

知识点

“”.join(lists) 是常见的将列表、元组转成字符串的写法

列表里面只能存放字符串元素,有其他类型的元素会报错 typeerror: sequence item 0: expected str instance, int found

元组也能传进去

split() 函数

split()函数的功能:将字符串按照str分割成列表,如果参数 num 有指定值,则分隔 num+1 个子字符串

split()函数的用法:str = string.split() ,括号内可以指定分隔符

使用空格将字符串分割为多个单词,返回一个列表,示例如下:

缺省情况下,使用空格将字符串分割为多个单词,可以在 split () 方法中指定分隔符,示例如下:

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

之所以说它是集合,是因为我们有多个函数返回的是 bool 类型,接下来我们看看都有哪些函数返回的是 bool 类型。

isspace() 函数

isspace() 函数的功能:判断字符串是否是一个由空格组成的字符串

isspace() 函数的用法:isspace_bool_type = string.isspace() ,无参数可传,返回一个 bool 类型

示例如下:

附:这里需要注意一点,由空格组成的字符串不等于空字符串,因为空格也占用一个长度。

istitle() 函数

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

istitle()函数的用法:istitle_bool_type = string.istitle() ,无参数可传,返回一个 bool 类型

示例如下:

附:需要注意的是该函数只能对英文有效

isupper() 函数 与 islower() 函数

功能:

  • isupper() 函数 判断字符串中的字符是否都是大写
  • islower() 函数 判断字符串中的字符是否都是小写

用法:

  • isupper_bool_type = string.isupper() ,无参数可传,返回一个 bool 类型
  • islower_bool_type = islower(),无参数可传,返回一个 bool 类型

示例如下:

以上就是python学习之字符串常用方法总结的详细内容,更多关于python字符串的资料请关注www.887551.com其它相关文章!