字符串函数
字符串
目标:掌握字符串的一些使用语法,熟悉字符串常用函数,了解怎么使用。
为什么不是掌握函数?因为你忘了也没关系呀,随处可查。
前面说了函数,这一节大部分就说一些关于字符串的内置函数,当然并不是所有都是函数。
这节的主要目的是熟悉内置函数的使用,而并不是记住某个函数,要不然以后看到其他函数也同样不会使用。
测试用字符串:
str = 'abcdefghijklmnooohello'
判断
-
in:是 Python 中的一个
关键字,用于检查某个元素是否存在于某个序列(如列表、元组、字符串等)print('a' in str) # True注意哈,它是关键字,并不是函数。
-
islower():用于检查字符串中的所有字符是否都是小写
print(str.islower()) # True -
isupper():用于检查字符串中的所有字符是否都是大写
print(str.isupper()) # False -
startswith():用于检查字符串是否以指定的前缀开始
print(str.startswith('a')) # True print(str.startswith('b')) # False -
endswith():用于检查字符串是否以指定的后缀结束
print(str.endswith('o')) # True print(str.endswith('b')) # False -
istitle():用于检查字符串中的单词是否都以大写字母开头
print(str.istitle()) # False print('Abc'.istitle()) # True print('abc'.istitle()) # False -
isdigit():用于检查字符串是否只包含数字字符
print(str.isdigit()) # False print('123465'.isdigit()) # True -
isalnum():用于检查字符串是否只包含字母和数字字符
print(str.isalnum()) # True print('hello123465'.isalnum()) # True print('_hello123465'.isalnum()) # False -
isalpha():用于检查字符串是否只包含字母字符
print(str.isalpha()) # True print('hello123465'.isalpha()) # False print('_hello123465'.isalpha()) # False
增
-
+:用于连接两个字符串
print(str + ' 123465') # abcdefghijklmnooohello 123465 -
format():用于格式化字符串
print('abc {name} def {age}'.format(name='alice', age=16)) # abc alice def 16 -
f“”:用于在字符串中嵌入变量
name = 'alice' age = 16 print(f'abc {name} def {age}') # abc alice def 16 -
copy.copy():用于创建对象的浅复制
string2 = copy.copy(str) print(string2) # abcdefghijklmnooohello
改
-
replace():替换字符串中的某个或某些字符,基本格式是
str.replace(old, new)print(str.replace('o', 'p')) # abcdefghijklmnppphellp -
strip():删除字符串开始或结束处的空格、制表符、换行符等
str = ' ' + str + ' ' print(str) # abcdefghijklmnooohello print(str.strip()) # abcdefghijklmnooohello -
lower():将字符串中的所有大写字母转换为小写
print('ABcdeFg123456'.lower()) # abcdefg123456 -
upper():将字符串中的所有小写字母转换为大写
print('ABcdeFg123456'.upper()) # ABCDEFG123456
查
-
索引取值 字符串[索引]
print(str[2]) # c -
切片取值 字符串[开始索引:结束索引:步长]
print(str[2:9]) # cdefghi -
len():返回字符串的长度
print(len(str)) # 22 -
find():返回子串在字符串中首次出现的索引位置,如果没有找到则返回-1
print(str.find('o')) # 14 -
index():与find()类似,但是当子串不存在时,它会抛出一个ValueError异常
print(str.index('o')) # 14 -
count():返回子串在字符串中出现的次数
print(str.count('o')) # 4
编码
-
encode():将一个字符串(str)转换为一个字节串(bytes),默认情况下,该方法使用UTF-8编码方式
print(str.encode()) # b'abcdefghijklmnooohello' -
decode():将一个字节串(bytes)转换为一个字符串(str)
print(str.encode().decode()) # abcdefghijklmnooohello
如果使用了错误的字符集解码,就会出现 UnicodeDecodeError 错误。
其他
除了这些以外,还有一些其他的函数,比如 join、split,他们也可以用来处理字符串:
-
join():将序列(如列表、元组等)的元素以特定的字符连接生成一个新的字符串
# join print(' '.join(['a', 'b', 'c'])) # a b c -
split():将字符串分割成子字符串,返回一个包含这些子字符串的列表
print(str.split('o')) # ['abcdefghijklmn', '', '', 'hell', '']
既然这俩也是用来处理字符串的,那为什么不和前面的一起讲?
因为这两个涉及到了其他知识点,比如 join 的参数,它需要 ['a', 'b', 'c'],这个称为列表,它们会在后面的课程中才会接触到,所以就没有和前面放一起了。

浙公网安备 33010602011771号