字符串类型内置方法
1.作用
定义:姓名、性别
2.定义方式
字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = 'Hello World!'
var2 = "Runoob"
3.内置方法
1.索引取值
索引值以 0 为开始值,-1 为从末尾的开始位置


2.切片
(顾头不顾尾,步长)
# 索引切片
msg = 'hello nick'
# 0123456789 # 索引序号
print(f'切片3-最后: {msg[3:]}')
print(f'切片3-8: {msg[3:8]}')
print(f'切片3-8,步长为2: {msg[3:8:2]}')
print(f'切片3-最后,步长为2: {msg[3::2]}')
# 了解,步长为正从左到右;步长为负从右到左
print('\n**了解知识点**')
print(f'切片所有: {msg[:]}')
print(f'反转所有: {msg[::-1]}')
print(f'切片-5--2: {msg[-5:-2:1]}')
print(f'切片-2--5: {msg[-2:-5:-1]}')
# 结果
切片3-最后: lo nick
切片3-8: lo ni
切片3-8,步长为2: l i
切片3-最后,步长为2: l ik
切片所有: hello nick
反转所有: kcin olleh
切片-5--2: ni
切片-2--5: cin
3.优先掌握
1.strip() 方法删除开头和结尾的空白字符:
# str移除空白strip()
name = '&&&n ick'
print(f"name.strip('&'): {name.strip('&')}") # strip()默认为‘ ’,并且不修改原值,新创建空间
print(f"name: {name}")
"""
name.strip('&'): n ick
name: &&&n ick
"""
2.split() 方法在找到分隔符的实例时将字符串拆分为子字符串:
a = "Hello, World!"
b = a.split(",")
print(b)
['Hello', ' World!']
3.in 或 not in
# str成员运算
msg = 'my name is nick, nick handsome'
print(f"'nick' in msg: {'nick' in msg}")
print(f"'jason' not in msg: {'jason' not in msg}")
print(f"not 'jason' in msg: {not 'jason' in msg}")
'nick' in msg: True
'jason' not in msg: True
not 'jason' in msg: True
4.如需获取字符串的长度,请使用 len() 函数。
a = "Hello, World!"
print(len(a))
13
5.for循环
msg = 'hello nick'
for i in msg:
print(i)
h
e
l
l
o
n
i
c
k
6.lstrip&rstrip
# str之lstrip()和rstrip()
name = '&&nick&&'
print(f"nick.lstrip('&'): {name.lstrip('&')}")
print(f"nick.rstrip('&'): {name.rstrip('&')}")
nick.lstrip('&'): nick&&
nick.rstrip('&'): &&nick
7.lower&upper
lower() 返回小写的字符串:
upper() 方法返回大写的字符串:
name = 'Nick Chen'
print(f"name.upper(): {name.lower()}")
print(f"name.upper(): {name.upper()}")
name.upper(): nick chen
name.upper(): NICK CHEN
8.startswith()和endswith()
如果以指定值开头的字符串,则返回 true。
如果字符串以指定值结尾,则返回 true。
name = 'Nick Chen'
print(f"name.startswith('Nick'): {name.startswith('Nick')}")
print(f"name.endswith('chen'): {name.endswith('chen')}")
name.startswith('Nick'): True
name.endswith('chen'): False
9.join()
把可迭代对象的元素连接到字符串的末尾。
lis = [1,2,'19']
print(f"':'.join(lis): {':'.join(lis)}") # 报错,数字不可和字符串拼接
# str之join()
lis = ['nick', 'male', '19']
print(f"':'.join(lis): {':'.join(lis)}")
':'.join(lis): nick:male:19
10.replace()
# replace() 用另一段字符串来替换字符串:
a = "Hello, World!"
print(a.replace("World", "Kitty"))
4.内置方法一览表
| 方法 | 描述 |
|---|---|
| capitalize() | 把首字符转换为大写。 |
| casefold() | 把字符串转换为小写。 |
| center() | 返回居中的字符串。 |
| count() | 返回指定值在字符串中出现的次数。 |
| encode() | 返回字符串的编码版本。 |
| endswith() | 如果字符串以指定值结尾,则返回 true。 |
| expandtabs() | 设置字符串的 tab 尺寸。 |
| find() | 在字符串中搜索指定的值并返回它被找到的位置。 |
| format() | 格式化字符串中的指定值。 |
| format_map() | 格式化字符串中的指定值。 |
| index() | 在字符串中搜索指定的值并返回它被找到的位置。 |
| isalnum() | 如果字符串中的所有字符都是字母数字,则返回 True。 |
| isalpha() | 如果字符串中的所有字符都在字母表中,则返回 True。 |
| isdecimal() | 如果字符串中的所有字符都是小数,则返回 True。 |
| isdigit() | 如果字符串中的所有字符都是数字,则返回 True。 |
| isidentifier() | 如果字符串是标识符,则返回 True。 |
| islower() | 如果字符串中的所有字符都是小写,则返回 True。 |
| isnumeric() | 如果字符串中的所有字符都是数,则返回 True。 |
| isprintable() | 如果字符串中的所有字符都是可打印的,则返回 True。 |
| isspace() | 如果字符串中的所有字符都是空白字符,则返回 True。 |
| istitle() | 如果字符串遵循标题规则,则返回 True。 |
| isupper() | 如果字符串中的所有字符都是大写,则返回 True。 |
| join() | 把可迭代对象的元素连接到字符串的末尾。 |
| ljust() | 返回字符串的左对齐版本。 |
| lower() | 把字符串转换为小写。 |
| lstrip() | 返回字符串的左修剪版本。 |
| maketrans() | 返回在转换中使用的转换表。 |
| partition() | 返回元组,其中的字符串被分为三部分。 |
| replace() | 返回字符串,其中指定的值被替换为指定的值。 |
| rfind() | 在字符串中搜索指定的值,并返回它被找到的最后位置。 |
| rindex() | 在字符串中搜索指定的值,并返回它被找到的最后位置。 |
| rjust() | 返回字符串的右对齐版本。 |
| rpartition() | 返回元组,其中字符串分为三部分。 |
| rsplit() | 在指定的分隔符处拆分字符串,并返回列表。 |
| rstrip() | 返回字符串的右边修剪版本。 |
| split() | 在指定的分隔符处拆分字符串,并返回列表。 |
| splitlines() | 在换行符处拆分字符串并返回列表。 |
| startswith() | 如果以指定值开头的字符串,则返回 true。 |
| strip() | 返回字符串的剪裁版本。 |
| swapcase() | 切换大小写,小写成为大写,反之亦然。 |
| title() | 把每个单词的首字符转换为大写。 |
| translate() | 返回被转换的字符串。 |
| upper() | 把字符串转换为大写。 |
| zfill() | 在字符串的开头填充指定数量的 0 值。 |

浙公网安备 33010602011771号