1. 字符串
str1 = "name"
str2="""name
class"""
字符串输出:
name = "Tom"
print(f'My name is {name}')
字符串输入:
name = input("请输入姓名:")
print(f'My name is {name}')
2. 切片
切片是指对操作的对象截取其中一部分的操作。字符串,列表,元组都支持切片操作。
语法:
序列[开始位置下标:结束位置下标:步长]
注意:
不包含结束位置下标对应的数据,正负整数均可
步长是选取间隔,正负数均可,默认步长为1
区间为左闭右开
选取方向必须一致,下标方向与步长方向一致
str1 = "abcdefg"
print(str1[2:5:1]) # cde
print(str1[2:5]) # cde 默认步长为1
print(str1[:5]) # abcde 默认从0开始步长为1
print(str1[1:]) # bcdefg 默认结束位置为最后一个 步长为0
print(str1[::-1]) # gfedcba 步长为负数为倒序列
print(str1[-4:-1]) # def 最后一个元素的下标为-1
3. 字符串常用方法
3.1 查找
find():检测某个子串是否包含在这个字符串中,如果在返回子串开始位置的下标,否则返回-1
语法:
字符串序列.find(子串,开始位置下标,结束位置下标)
注意:
开始和结束位置下标可以省略,表示在整个字符串序列中查找
str1 = "hello world,hello python"
print(str1.find("hello")) # 0
print(str1.find("hello",5)) # 12
index():检测某个子串是否包含在这个字符串中,如果在返回子串开始位置的下标,否则报异常
语法:
字符串序列.index(子串,开始位置下标,结束位置下标)
注意:
开始和结束位置下标可以省略,表示在整个字符串序列中查找
print(str1.index("hello")) # 0
print(str1.index("hello",5)) # 12
count():统计字符串出现次数
语法:
字符串序列.count(子串,开始位置下标,结束位置下标)
注意:
开始和结束位置下标可以省略,表示在整个字符串序列中查找
print(str1.count("hello")) # 2
print(str1.count("hello",5)) # 1
3.2 修改
replace():替换
语法:
字符串序列.replace(旧子串,新子串,替换次数)
注意:
替换次数如果查出子串出现次数,则替换次数为该子串出现次数
print(str1.replace("hello","hi")) # hi world,hi python
print(str1) # 注意:原字符串并未发生修改,str1是不可变类型
split():按照指定字符分割字符串
语法:
字符串序列.split(分割字符,num)
注意:
num表示的是分割字符出现的次数,即将来返回数据个数为num+1个
str1 = "hello world,hello python"
list1=str1.split("hello")
list2=str1.split("hello",1)
print(list1) # ['', ' world,', ' python']
print(list2) # ['', ' world,hello python']
join():用一个字符或字符串合并字符串
语法:
字符或子串.join(多字符串组成的序列)
l = ["hello","world"]
str2 = ",".join(l)
print(str2) # hello,world
capitalize():将字符串第一个字符转换成大写
title():将字符串每个单词首字母转换成大写
lower():将字符串中大写转换成小写
upper():将字符串中小写转大写
str1 = "hello,world"
str2 = "Hello,World"
print(str1.capitalize()) # Hello,world
print(str1.title()) # Hello,World
print(str2.lower()) # hello,world
print(str1.upper()) # HELLO,WORLD