字符串的定义
- 字符串 就是 一串字符,是编程语言中表示文本的数据类型
- 在 Python 中可以使用 一对双引号 " 或者 一对单引号 ‘ 定义一个字符串
- 虽然可以使用
\"
或者\‘
做字符串的转义,但是在实际开发中:- 如果字符串内部需要使用 ":,可以使用 ‘ 定义字符串,例如:‘zhangsan "hello" ‘
- 如果字符串内部需要使用 ‘,可以使用 " 定义字符串
- 虽然可以使用
- 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
- 也可以使用
for
循环遍历 字符串中每一个字符str1 = "Hello world" print(str1) for char in str1: print(char)
- 一般情况下,使用双引号"来定义字符串(大多数的编程语言都是使用的双引号")
字符串的常用操作
- 在ipython3中,定义一个字符串,例如:my_str = ""
- 输入 my_str. 并按下Tab键,ipython3会提示字符串能使用的方法如下:
可以看到字符串中的方法还是很多的。
- 先看一下字符串中的统计和求索引的相关操作:len(str)、 str.count(str2)、str.index(str2)
my_str = "hello world, hello" # 1. 统计字符串长度 print(len(my_str)) # 2. 统计某一子串出现的次数 print(my_str.count("ell")) print(my_str.count("cda")) # 3. 求某一子字符串的索引 print(my_str.index("wor")) # 注意,如果子字符串没有找到,程序会报错 print(my_str.index("cba"))
- 判断类型的方法如下:
涉及到的方法比较多,对其中的一部分方法进行练习:# 1. 判断空白字符 space_str = " \t\r\n" print(space_str.isspace()) # 2. 判断是否为数字 num_str1 = "12" print(num_str1) print(num_str1.isdecimal()) print(num_str1.isdigit()) print(num_str1.isnumeric()) num_str2 = "1.2" print(num_str2) print(num_str2.isdecimal()) print(num_str2.isdigit()) print(num_str2.isnumeric()) num_str3 = "\u00b2" print(num_str3) print(num_str3.isdecimal()) print(num_str3.isdigit()) print(num_str3.isnumeric()) num_str4 = "一零零二" print(num_str4) print(num_str4.isdecimal()) print(num_str4.isdigit()) print(num_str4.isnumeric()) # 3. 大小写判断 print("abc".islower()) print("ABC".isupper())
- 查找和替换
my_str = "hello world" # 1. 判断字符串是否以指定字符串开始 print(my_str.startswith("hell")) # 2. 判断字符串是否以指定字符串结尾 print(my_str.endswith("orld")) # 3. 查找指定字符串 print(my_str.find("llo")) # 查找的字符串不存在,则返回-1 # index方法查找的字符串不存在会报错 print(my_str.find("abc")) # 4.字符串替换 print(my_str.replace("world", "zfx"))
- 大小写转换
# 1. 转大写 print("abc".lower()) # 2. 转小写 print("ABC".upper())
- 文本对齐
my_str = "hello world" # 1. 左对齐 print("|%s|" % my_str.ljust(20, " ")) # 2. 右对齐 print("|%s|" % my_str.rjust(20, " ")) # 3. 居中对齐 print("|%s|" % my_str.center(20, " "))
- 去除空白字符
- 拆分和连接
my_str = "hello world\nhello zfx" print(my_str) # 1. 拆分字符串 str_list = my_str.split() print(str_list) # 2. 字符串拼接 result = " ".join(str_list) print(result)
字符串切片
- 切片 方法适用于 字符串、列表、元组
- 切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串
- 列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
- 字典 是一个 无序 的集合,是使用 键值对 保存数据
- 语法:
字符串[开始索引:结束索引:步长]
需要注意的地方:
- 指定的区间属于 左闭右开 型
[开始索引, 结束索引)
=>开始索引 >= 范围 < 结束索引
- 从
起始
位开始,到结束
位的前一位 结束(不包含结束位本身)
- 从
- 从头开始,开始索引 数字可以省略,冒号不能省略
- 到末尾结束,结束索引 数字可以省略,冒号不能省略
- 步长默认为
1
,如果连续切片,数字和冒号都可以省略
索引的顺序和倒叙
- 在 Python 中不仅支持 顺序索引,同时还支持 倒序索引
- 所谓倒序索引就是 从右向左 计算索引
- 最右边的索引值是 -1,依次递减
- 例子练习:
num_str = "0123456789" # 1. 截取从 2 ~ 5 位置 的字符串 print(num_str[2:6]) # 2. 截取从 2 ~ 末尾 的字符串 print(num_str[2:]) # 3. 截取从 开始 ~ 5 位置 的字符串 print(num_str[:6]) # 4. 截取完整的字符串 print(num_str[:]) # 5. 从开始位置,每隔一个字符截取字符串 print(num_str[::2]) # 6. 从索引 1 开始,每隔一个取一个 print(num_str[1::2]) # 7. 截取从 2 ~ 末尾 - 1 的字符串 print(num_str[2:-1]) # 8. 截取字符串末尾两个字符 print(num_str[-2:]) # 9. 字符串的逆序(面试题) print(num_str[::-1])
--本文完--
原文地址:https://www.cnblogs.com/zhangfengxian/p/python-string.html
时间: 2024-10-28 14:22:36