1.字符串
字符串是 Python 中最常用的数据类型。所谓字符串,就是由零个或多个字符组成的有限序列,可以使用引号('
或"
或"""
),例如:
text1 = 'Mickey'
text2 = "Minnie"
text3 = """Goofy"""
print(text1) # Mickey
print(text2) # Minnie
print(text3) # Goofy
P.S.
其中三个双引号和三个单引号开头的字符串可以折行,例如:
# 三个双引号折行
text1 = """
Mickey
"""
# 三个单引号折行
text2 = '''
Minnie
'''
print(text1) # Mickey
print(text2) # Minnie
1.1 字符串切片
访问子字符串,可以使用方括号[]
来进行截取字符串,索引以0为开始值,-1为从末尾开始。语法如下:
变量[头下标:尾下标]
text = "等到放晴的那天也许我会比较好一点"
# 从字符串中取出指定位置的字符(下标运算)
print(text[1]) # 到
# 字符串切片(从开始索引【1】到结束索引【6】)
print(text[1:6]) # 到放晴的那
# 从开始索引【2】到结尾
print(text[2:]) # 放晴的那天也许我会比较好一点
# 从开始索引【2】步长为【2】进行截取
print(text[2::2]) # 放的天许会较一
# 从开始索引【0】步长为【3】进行截取
print(text[::3]) # 等晴天我较点
# 倒序
print(text[::-1]) # 点一好较比会我许也天那的晴放到等
# 从后面索引【-5】到结束索引【-1】截取
print(text[-5:-2]) # 比较好
1.2 字符串运算
在python中为字符串提供了丰富的运算符,常用的如下:
操作符 | 描述 |
---|---|
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True |
# 字符串拼接
text1 = "hello "
text2 = "Mickey"
text1 += text2
print(text1) # hello Mickey
# 重复输出字符串
text1 = "Mickey " * 3
print(text1) # Mickey Mickey Mickey
# 成员运算符 - in,如果字符串中包含给定的字符返回 True
text1 = "Mickey"
print('ck' in text1) # True
print('kc' in text1) # False
# 成员运算符 - not in,如果字符串中不包含给定的字符返回 True
text1 = "Mickey "
print('ck' not in text1) # False
print('kc' not in text1) # True
1.3 字符串常用内置函数
在python中对字符串提供了丰富的内置方法,这里只记录了部份常用的函数,后续如果用到其他会进行更新~
# 示例变量
text1 = "hello,mickey"
函数 | 描述 | 实例 | 输出 |
---|---|---|---|
len() | 计算字符串的长度 | print(len(text1)) | 12 |
capitalize() | 获得字符串首字母大写的拷贝 | print(text1.capitalize()) | Hello,mickey |
title() | 获得字符串每个单词首字母大写的拷贝 | print(len(text1)) | Hello,Mickey |
upper() | 获得字符串变大写后的拷贝 | print(text1.upper()) | HELLO,MICKEY |
find() | 从字符串中查找子字符串所在位置,如果包含返回开始的索引值,否则返回-1 | print(text1.find('ck')) | 8 |
index() | 跟find()方法一样,只不过如果str不在字符串中会报一个异常 | print(text1.index('ck')) | 8 |
startswith() | 检查字符串是否以指定的字符串开头,是则返回 True,否则返回 False | print(text1.startswith('he')) | True |
endswith() | 检查字符串是否以指定的字符串结尾,如果是返回 True,否则返回 False | print(text1.endswith('ey')) | True |
isdigit() | 检查字符串是否由数字构成 | print(text1.isdigit()) | False |
isalpha() | 检查字符串是否以字母构成 | print(text1.isalpha()) | False |
因为其中部分函数含有参数或其他特殊情况,所以拉出来单独记录一下。
find()函数
查看源码发现是有两个可选参数的,默认值为None;通过注释可以了解到是可以指定长度进行查找的,其中
start
为开始的下标,end
为结束的下标,如果指定的情况则检查子字符串是否包含在指定范围内。
text1 = "hello,mickey"
# find()函数
print(text1.find('ck')) # 8
print(text1.find('kc')) # -1,因为查找不到所以返回-1
print(text1.find('ck', 0, 5)) # -1,因为指定范围查找不到所以返回-1
print(text1.find('ck', 5, len(text1))) # 8,函数内还可以嵌套其他函数进行查找
index()函数
基本和
find()
函数一致
text1 = "hello,mickey"
# index()函数
print(text1.index('ck')) # 8
print(text1.index('kc')) # ValueError: substring not found. 查找不到就会报【ValueError:未找到子字符串】的错误
print(text1.index('ck', 0, 5)) # ValueError: substring not found. 指定范围查找不到就会报【ValueError:未找到子字符串】的错误
print(text1.index('ck', 5, len(text1))) # 8,函数内还可以嵌套其他函数进行查找
个人学习记录笔记,非商业用途,如有侵权,请告知我,我会删除。