字符串是字符的容器,一个字符串可以存放任意数量的字符
字符串的特点:
作为数据容器,字符串有如下特点:
- 只可以存储字符串
- 长度任意(取决于内存大小)
- 支持下标索引
- 允许重复字符串存在
- 不可以修改(增加或删除元素等)
- 支持for、while循环
字符串的操作:
通过下标索引取值
my_str = "python and java"
value = my_str[0]
value1 = my_str[-15]
print(f"从字符串{my_str}取下标为0的元,值是:{value}")
print(f"从字符串{my_str}取下标为-15的元,值是:{value1}")
结果:
从字符串python and java取下标为0的元,值是:p
从字符串python and java取下标为-15的元,值是:p
index方法
my_str = "python and java"
value = my_str.index('and')
print(f"在字符串{my_str}中查找and,其起始下标是:{value}")
结果:
在字符串python and java中查找and,其起始下标是:7
replace方法
my_str = "python and java"
new_my_str = my_str.replace("a", "程序")
print(f"将字符串中的 a 替换为 程序 得到一个新的字符串为:{new_my_str}")
结果:
将字符串中的 a 替换为 程序 得到一个新的字符串为:python 程序nd j程序v程序
# split方法
my_str = "python and java"
new_my_str = my_str.split(" ") # 将字符串按空格切割得到一个新的字符串
print(f"将字符串{my_str}按空格切割得到:{new_my_str},它的类型是:{type(new_my_str)}")
结果:
将字符串python and java按空格切割得到:['python', 'and', 'java'],它的类型是:<class 'list'>
strip方法
my_str = " python and java "
new_my_str = my_str.strip() # 不传入参数,去除首尾空格
print(f"字符串{my_str}被strip后,结果是:{new_my_str},它的类型是:{type(new_my_str)}")
my_str = "12python and java21"
new_my_str = my_str.strip("12") # 12 相当于俩字字符1 和 2 只要符合就去除
print(f"字符串{my_str}被strip('12'),结果是:{new_my_str},它的类型是:{type(new_my_str)}")
结果:
字符串 python and java 被strip后,结果是:python and java,它的类型是:<class 'str'>
字符串12python and java21被strip('12'),结果是:python and java,它的类型是:<class 'str'>
统计字符串中某字符串出现的次数
my_str = "python and java"
count = my_str.count('a')
print(f"字符串{my_str}中a出现:{count}次")
结果:
字符串python and java中a出现:3次
统计字符串的长度
my_str = "python and java"
print(f"字符串{my_str}的长度是:{len(my_str)}")
结果:
字符串python and java的长度是:15
for 循环
my_str = "python and java"
for a in my_str:
print(f"字符串{my_str}里面的元素是:{a}")
结果:
字符串python and java里面的元素是:p
字符串python and java里面的元素是:y
字符串python and java里面的元素是:t
字符串python and java里面的元素是:h
字符串python and java里面的元素是:o
字符串python and java里面的元素是:n
字符串python and java里面的元素是:
字符串python and java里面的元素是:a
字符串python and java里面的元素是:n
字符串python and java里面的元素是:d
字符串python and java里面的元素是:
字符串python and java里面的元素是:j
字符串python and java里面的元素是:a
字符串python and java里面的元素是:v
字符串python and java里面的元素是:a
while 循环
my_str = "python and java"
a = 0
while a < len(my_str):
print(f"字符串{my_str}里面的元素是:{my_str[a]}")
a += 1
结果:
字符串python and java里面的元素是:p
字符串python and java里面的元素是:y
字符串python and java里面的元素是:t
字符串python and java里面的元素是:h
字符串python and java里面的元素是:o
字符串python and java里面的元素是:n
字符串python and java里面的元素是:
字符串python and java里面的元素是:a
字符串python and java里面的元素是:n
字符串python and java里面的元素是:d
字符串python and java里面的元素是:
字符串python and java里面的元素是:j
字符串python and java里面的元素是:a
字符串python and java里面的元素是:v
字符串python and java里面的元素是:a
练习:
# 定义字符串
my_str = "itheima itcast boxuegu"
# 统计字符串内有多少个“it”字符
num = my_str.count("it")
print(f"字符串{my_str}内有{num}个'it'字符")
# 将字符串内的空格,全部替换为字符:"|"
new_my_str = my_str.replace(' ', '|')
print(f"字符串{my_str}内的空格替换为'|'得到新的字符串为:{new_my_str}")
# 按照“|”进行字符串分割,得到列表
str_list = new_my_str.split('|')
print(f"字符串{new_my_str}按照“|”进行字符串分割,得到列表:{str_list},它的类型是{type(str_list)}")
结果:
字符串itheima itcast boxuegu内有2个'it'字符
字符串itheima itcast boxuegu内的空格替换为'|'得到新的字符串为:itheima|itcast|boxuegu
字符串itheima|itcast|boxuegu按照“|”进行字符串分割,得到列表:['itheima', 'itcast', 'boxuegu'],它的类型是<class 'list'>