字符串
【单引号】、【双引号】、【三引号】
name1 = 'Tom'
name2 = "Rose"
name3 = ''' Tom '''
name4 = """ Rose """
a = ''' i am Tom,
nice to meet you! '''
b = """ i am Rose,
nice to meet you! """
【 ’ 的写法】
c = "I'm Tom"
d = 'I\'m Tom'
字符串的【输出】
print('hello world')
name = 'Tom'
print('我的名字是%s' % name)
print(f'我的名字是{name}')
字符串的【输入】,input默认输入的是字符串
name = input('请输⼊入您的名字:')
print(f'您输⼊入的名字是{name}')
print(type(name))
password = input('请输⼊入您的密码:')
print(f'您输⼊入的密码是{password}')
print(type(password))
【下标】
"""
“下标” 又叫“索引”
"""
name = "abcdef"
print(name[1])
print(name[0])
print(name[2])
【切片】
"""
语法:
序列[开始位置下标:结束位置下标:步⻓]
注意:
1. 不包含结束位置下标对应的数据, 正负整数均可;
2. 步长是选取间隔,正负整数均可,默认步长为1。
"""
name = "0123456"
print(name[2:5:1])
print(name[2:5])
print(name[:5])
print(name[1:])
print(name[:])
print(name[::2])
print(name[:-1])
print(name[-4:-1])
print(name[::-1])
print(name[-4:-1:-1])
print(name[-1:-4:-1])
字符串操作(查找、修改、判断)
【查找】
"""
查找⼦串在字符串中的位置或出现的次数
"""
find()、rfind()
"""
find(): 检测某个⼦串是否包含在这个字符串中,如果在返回子串开始的位置下标,【不在返回-1】
rfind(): 和find()功能相同,但查找⽅向为右侧开始
语法:
字符串序列.find(⼦串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.find('and'))
print(mystr.rfind('and'))
print(mystr.find('and', 15, 30))
print(mystr.find('ands'))
index()、rindex()
"""
index(): 检测某个⼦串是否包含在这个字符串中,如果在返回子串开始的位置下标,【不在则报异常】
rindex(): 和index()功能相同,但查找⽅向为右侧开始
语法:
字符串序列.index(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.index('and'))
print(mystr.rindex('and'))
print(mystr.index('and', 15, 30))
print(mystr.index('ands'))
count()
"""
count(): 返回某个子串在字符串中出现的次数
语法:
字符串序列.count(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.count('and'))
print(mystr.count('ands'))
print(mystr.count('and', 0, 20))
【修改】
replace(): 替换
"""
replace(): 返回修改后的字符串,原有字符串没有变
语法:
字符串序列.replace(旧子串, 新子串, 替换次数)
替换次数省略默认全部
数据按照是否能直接修改分为可变类型和不可变类型两种。
字符串类型的数据修改的时候【不能改变原有字符串】,属于不能直接修改数据的类型即不可变类型。
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.replace('and', 'he'))
print(mystr.replace('and', 'he', 1))
print(mystr)
new_mystr = mystr.replace('and', 'he')
print(new_mystr)
split(): 分割
"""
split(): 返回num + 1个字符串,分割字符丢失
语法:
字符串序列.split(分割字符, 分割字符出现的次数num)
num省略默认全部
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.split('and'))
print(mystr.split('and', 2))
print(mystr.split(' '))
print(mystr.split(' ', 2))
join(): 合并
"""
join(): ⽤一个字符或子串合并字符串,即将多个字符串合并为一个新的字符串
语法:
字符或子串.join(多字符串组成的序列)
"""
list1 = ['chuan', 'zhi', 'bo', 'ke']
t1 = ('aa', 'b', 'cc', 'ddd')
print('_'.join(list1))
print('...'.join(t1))
大小写转换
mystr = "hello Hello hELLO"
capitalize(): 将字符串第一个字符转换成⼤写
print(mystr.capitalize())
title():将字符串每个单词⾸字母转换成⼤写
print(mystr.title())
lower():将字符串中⼤写转小写
print(mystr.lower())
upper():将字符串中小写转大写
print(mystr.upper())
删除空白字符
mystr = " hello world and itcast and itheima and Python "
lstrip():删除字符串左侧空白字符
print(mystr.lstrip())
rstrip():删除字符串右侧空白字符
print(mystr.rstrip())
strip():删除字符串两侧空白字符
print(mystr.strip())
对齐
mystr = "hello"
ljust():返回一个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应长度的新字符串
print(mystr.ljust(10, '.'))
rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充⾄对应⻓度的新字符串
print(mystr.rjust(10, '.'))
center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应长度的新字符串
print(mystr.center(10, '.'))
【判断】
"""
判断真假,返回的结果是布尔型数据:True 或 False
"""
startswith():是否以指定⼦串开头
"""
startswith():检查字符串是否以指定⼦串开头,是则返回 True,否则返回 False。
如果设置开始和结束位置下标,则在指定范围内检查。
语法:
字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python "
print(mystr.startswith('hello'))
print(mystr.startswith('Hello'))
print(mystr.startswith('hello', 5, 20))
endswith():是否以指定⼦串结尾
"""
endswith():检查字符串是否以指定⼦串结尾,是则返回 True,否则返回 False。
如果设置开始和结束位置下标,则在指定范围内检查。
语法:
字符串序列.endswith(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.endswith('Python'))
print(mystr.endswith('python'))
print(mystr.endswith('Python', 2, 20))
isalpha():如果字符串至少有一个字符,并且所有字符都是字母则返回 True, 否则返回 False
mystr1 = 'hello'
mystr2 = 'hello12345'
print(mystr1.isalpha())
print(mystr2.isalpha())
isdigit():如果字符串只包含数字则返回 True,否则返回 False
mystr1 = 'aaa12345'
mystr2 = '12345'
print(mystr1.isdigit())
print(mystr2.isdigit())
isalnum():如果字符串⾄少有⼀个字符,并且所有字符都是字⺟或数字则返回 True, 否则返回False
mystr1 = 'aaa12345'
mystr2 = '12345-'
print(mystr1.isalnum())
print(mystr2.isalnum())
isspace():如果字符串中只包含空白则返回 True,否则返回 False
mystr1 = '1 2 3 4 5'
mystr2 = ' '
print(mystr1.isspace())
print(mystr2.isspace())