目录
一、字符串打印输出
python中的字符串打印输出几种常见方式举例如下。
a = 'python'
print(a)
print(type(a))
print('-------------')
a = "pyt" \
"hon"
print(a)
print(type(a))
print('-------------')
a = '''python'''
print(a)
print(type(a))
print('-------------')
a = """py
thon""" # 这种形式可以换行print
print(a)
print(type(a))
print('-------------')
a = 'I\'m Tom' # \' 是转义字符,这样用单引不出错
print(a)
print(type(a))
二、字符串下标切片
1.字符串的下标
str1 = 'abcdefgh'
print(str1[0]) # 下标
print(str1[1]) # 下标
2.字符串的切片——序列[开头下标:结尾下标:步长] : 步长为1表示从左到右,-1则相反
print(str1[2:5:1]) # cde
str2 = '012345678'
print(str2[2:5:1]) # 234 -- *** 结束位置是开区间 ***
print(str2[2:5]) # 234 -- 步长不写,默认步长为1 (不存在默认步长是-1)
print(str2[2:5:2]) # 24
print(str2[:5]) # 01234 -- 开头不写,默认从0开始
print(str2[2:]) # 234567 -- 结尾不写,默认选取到最后
print(str2[:]) # 01234567 -- 开头、结尾都不写,默认选取全部
print(str2[5:2:-1]) # 543 -- 从 5->3 是从右向左,-1刚好也表示从右向左
# 负数测试
print(str2[::-1]) # 76543210 -- 步长为负数,表示倒叙选取
print(str2[-4:-1]) # 下标-1表示最后一个数据,依次向前类推,默认步长是1
print(str2[-1:-4:-1]) # 876 -- 从 -1->-4 是从右向左,-1刚好也表示从右向左
print(str2[-1:-4:1]) # 无法选取
"""
***** 下标开始到结束的方向必须和步长方向一致,否则,会选取为空*****
"""
三、字符串查找
字符串查找方法有5种,如下。
str = 'you love me me me'
# 1.find()
print(str.find('me')) # 9, 返回子串开头字母的位置下标
print(str.find('me', 9, 11)) # 9, 把11改成10会找不到,说
# 明11是开区间
print(str.find('mes')) # -1
# 2.index()
print(str.index('me')) # 9
print(str.index('me', 9, 11)) # 9, 把11改成10会找不到,说
# 明11这一端是开区间,即不包括下标11
# print(str.index('mes')) # 报错
# 3.count()
print(str.count('me')) # 3
print(str.count('me', 9, 11)) # 1
print(str.count('mes')) # 0
# 4.rfind()
print(str.rfind('me')) # 15, 仍返回子串开头字母的位置下标,
# 带r开头的是从右边开始查找的意思
print(str.rfind('mes')) # -1
# 5.rindex()
print(str.rindex('me')) # 15
print(str.rindex('mes')) # 报错
四、字符串修改Ⅰ
首先,定义一个字符串用以举例。
str = 'you love me me me'
1.replace(子串, 新字符串, 替换次数) -- 把me替换成he,repalce有返回值,返回值是修改后的字符串。
new_str = str.replace('me', 'he')
# new_str = str.replace('me', 'he', 4)
# 替换次数超出子串出现的次数,则意为替换所有该子串
print(str)
print(new_str)
# 调用replace之后,原有字符串并没有改变,被修改后的字符串是replace的返回值。
# 说明:字符串是不可修改数据类型。
# 数据类型根据不同标准还可划分为 可变类型 和 不可变类型。
2.split(子串, 次数) -- 分割字符串,返回一个列表,列表中不含用于分割的字符。
list1 = str.split('me')
# list1 = str.split('me', 2)
print(list1)
3.字符或子串.join(多字符串组成的序列) -- 合并序列(列表)中的多个字符串为一个大字符串。
list2 = ['you', 'love', 'me']
new_str2 = ''.join(list2) # '...'可以换成其他字符(串),如空格
print(new_str2)
字符串修改函数都具有返回值,需要定义一个变量来接收返回值,原字符串不会发生改变。
五、字符串修改Ⅱ
首先,定义一个字符串用以举例。
str1 = 'you love me Me Me'
1.capitalize() -- 把字符串的首字母变成大写,同时把字符串中其他大写字母变小写。
new_str = str1.capitalize()
print(new_str)
2.title() -- 字符串中每个单词首字母都变成大写
new_str = str1.title()
print(new_str)
3.upper() -- 小写转大写:全部变成大写
new_str = str1.upper()
print(new_str)
4.lower() -- 大写转小写:全部变成小写
new_str = str1.lower()
print(new_str)
5.lstrip() -- 删除左侧空格
str2 = ' i like you '
new_str = str2.lstrip()
print(new_str)
6.rstrip() -- 删除右侧空格
str2 = ' i like you '
new_str = str2.rstrip()
print(new_str)
7.strip() -- 删除两侧空格
str2 = ' i like you '
new_str = str2.strip()
print(new_str)
8.ljust -- 字符左对齐
str3 = 'you'
new_str = str3.ljust(15) # 默认填充字符为空格
print(new_str)
9.rjust -- 字符右对齐
str3 = 'you'
new_str = str3.rjust(15, '.')
print(new_str)
10.center -- 字符居中
str3 = 'you'
new_str = str3.center(15, '.')
print(new_str)
六、字符串判断
首先,定义一个字符串用以举例。
str1 = 'i like you'
1.startswith(子串, 开始位置下标, 结束位置下标) -- 判断[从开始......到结束]字符串是否以某一子串开头
print(str1.startswith('i '))
print(str1.startswith('i ', 1, 10))
print(str1.startswith('ike', 3, 6)) # 结束下标是开区间形式
2.endswith() -- 判断是否以某一子串结尾
print(str1.endswith('you'))
print(str1.endswith(' you'))
print(str1.endswith('yu', 1, 10))
3.isalpha() -- 判读字符串中是否全部都是字母
print(str1.isalpha())
4.isdigit -- 判读字符串中是否全部都是数字
print(str1.isdigit())
str2 = '125567'
print(str2.isdigit())
5.isalnum -- 判断字符串是否 全是字母 或 全是数字 或 全是字母数字组合
print(str1.isalnum())
print(str2.isalnum())
print('12435angered'.isalnum())
6.isspace -- 判断是否全是空格
print(str1.isspace())
print(' '.isspace())