分析网站网站,网站建设公司 广告法被处罚,杭州手机网站建设公司,上海市招投标公共信息服务平台文章目录 #x1f680;一.字符串基础#x1f308;二.查看数据类型⭐三.转化❤️四.字符串索引#x1f6b2;五.字符串切片#x1f3ac;六.字符串切片-步长☔七.反向切片注意事项#x1f6b2;八.字符串#x1f4a5;查#x1f4a5;改#x1f4a5;删 ❤️九.字符串拼接一.字符串基础二.查看数据类型⭐三.转化❤️四.字符串索引五.字符串切片六.字符串切片-步长☔七.反向切片注意事项八.字符串查改删 ❤️九.字符串拼接拼接符: 占位符%sjoin方法format ⭐十.字符串格式化 一.字符串基础 在Python中字符串str可以被定义为一系列字符 (characters)这些字符可以是字母、数字或者其他任意字符。例如
my_string Hello World!在上面的例子中我们定义了一个名为 my_string 的字符串。它由 12 个字符组成其中包括字母、空格和标点符号。请注意字符串必须用双引号或单引号括起来。
字符串特征
均为字符串例如name1 张三
print(type(name1)) # class strname2 张三
print(type(name2)) # class strname3 张三
print(type(name3)) # class str # 用于字符串跨行不必使用换行拼接二.查看数据类型
可以通过 type函数 查看指定数据类型type(张三) # class str ⭐三.转化
在Python中可以使用 str() 内置函数将其他类型的数据转换为字符串。这个函数接受一个参数并返回一个表示该参数值的字符串。
num 42
result str(num)
print(result) # 42pi 3.14159
result str(pi)
print(result) # 3.14159c complex(2, 3)
result str(c)
print(result) # (23j)# 想要在print出来的结果中更加直观地看到数据类型情况可以通过type函数查看类型❤️四.字符串索引
字符串是扁平序列,不可变序列
我们可以使用索引来访问字符串中的特定字符。在Python中字符串的第一个字符的索引是 0第二个字符的索引是 1依此类推。例如
my_string Hello World!
print(my_string[0]) # H
print(my_string[6]) # W除了正向索引之外还可以使用负数索引访问序列中的元素。在这种情况下从右到左计数最后一个元素的索引为-1以此类推。例如
my_list [1, 2, 3, 4, 5]
print(my_list[-1]) # 5
print(my_list[-3]) # 3五.字符串切片
在Python中切片允许我们从序列类型数据中选择一个子集并返回一个新的序列。切片语法由两个索引值和一个可选的步长组成如下所示
sequence[start:stop:step] # sequence 序列其中 start 是切片开始的索引位置默认为0stop 是切片结束的索引位置不包括该位置所在的元素默认为序列长度step 是切片中元素之间的步长默认为1。
例如假设我们有以下字符串
my_string Hello World要获取 ‘Hel’ 以及 ‘lo W’我们可以分别使用以下两个切片操作
# [start:stop]# 获取 Hel
print(my_string[0:3])# 获取 lo W
print(my_string[3:7])输出结果
Hel
lo W另外如果要获取字符串的最后三个字符可以使用负数索引和空的 start 来进行切片操作。例如
# 获取 rld
print(my_string[-3:])# 切出 倒数第三个数据开始 到 最后一个数据结束输出结果
rld六.字符串切片-步长
在切片中还可以使用步长来控制返回的元素之间的距离。例如要从一个列表中获取所有的偶数位置的元素可以使用步长为2的切片操作。示例代码如下
my_list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[::2])
# 切片范围从头到尾走两步取一个值 输出结果
[0, 2, 4, 6, 8]在这个例子中我们使用一个空的 start 和 stop 来表示从头到尾并使用步长为2来获取所有偶数位置的元素。
☔七.反向切片注意事项
my_string Hello World# 获取除最后两个字符外的所有字符
# -- 起始位置 开头 可不填 也可填写0
# -- 结束位置 -2
result my_string[:-2]
print(result) # Hello Wor# 获取最后的两个数据
result my_string[-2:]
print(result) # ld接下来的操作注意观察 观察后理解
my_string Hello World# 当步长为负数时数据反转 这个数据序列反过来进行步长操作
result0 my_string[::-1] # dlroW olleH
result1 my_string[::-2] # drWolH# 那么 起始位置与结束位置操作也将进行反转 -- 反向索引
result2 my_string[-1:-3:-1] # dl# 起始位置 -1 结束位置 2
result3 my_string[-1:2:-1] # dlroW ol这里之所以能够成立是因为步长为负数我们参考将从后往前
因此 切片方向将从后往前看八.字符串
字符串中的元素是指字符串中的每个字符一个字符串是由一系列字符组成的。例如字符串 hello, world! 是由 13 个字符组成的分别是 h、e、l、l、o、,、 、w、o、r、l、d 和 ! 。可以使用索引和切片来访问和操作这些字符。在 Python 中字符串是不可变序列即它们的元素不能被更改只能通过复制或拼接等方式来创建新的字符串。字符串无法修改原数据查 count:查找指定元素在字符串中出现的次数,可指定范围
# count:查找指定元素在字符串中出现的次数
str1 addfbcvfd
print(str1.count(d)) # 3index: 查找指定元素第一次出现的位置下标 - 找不到报错 【可指定范围】
# index: 查找指定元素第一次出现的位置下标 - 找不到报错
str2 qwert帅哈yuil哈哈
print(str2.index(哈)) # 6
print(str2.index(放)) # ValueError: substring not found值错误未找到子字符串find: 查找指定元素第一次出现的位置下标 - 找不到返回 -1 【可指定范围】
# find: 查找指定元素第一次出现的位置下标 - 找不到返回 -1
str2 qwert帅哈yuil哈哈
print(str2.find(哈)) # 6
print(str2.find(放)) # -1isdigit: 判断字符串是否由纯数字构成
# isdigit: 判断字符串是否由纯数字构成
str3 12345
str4 12345hasd
str5 drthasd
print(str3.isdigit()) # True
print(str4.isdigit()) # False
print(str5.isdigit()) # Falseisalpha: 判断字符串是否由纯字符构成
# isalpha: 判断字符串是否由纯字符构成
str3 12345
str4 12345hasd
str5 drthasd
print(str3.isalpha()) # False
print(str4.isalpha()) # False
print(str5.isalpha()) # Trueendswith: 判断字符串结束位置字符是否是指定字符
# endswith: 判断字符串结束位置字符是否是指定字符
str6 axiba
print(str6.endswith(ba)) # True
print(str6.endswith(aa)) # Falsestartswith: 判断字符串开始位置字符是否是指定字符
# startswith: 判断字符串开始位置字符是否是指定字符
str6 axiba
print(str6.startswith(ax)) # True
print(str6.endswith(aa)) # Falseislower: 判断字符串中英文字符是否为纯小写
# islower: 判断字符串中英文字符是否为纯小写
str7 qqwee哈哈
str8 qQwee哈哈
print(str7.islower()) # True
print(str8.islower()) # False isupper: 判断字符串中英文字符是否为纯大写
# isupper: 判断字符串中英文字符是否为纯大写
str7 qqwee哈哈
str8 qQwee哈哈
str9 QWERT哈哈
print(str7.isupper()) # False
print(str8.isupper()) # False
print(str9.isupper()) # True注意字符串的不可变性质无法改变原数据 改 split: 切割字符串
# split: 切割字符串
str10 hello world
data_1 str10.split(o)
print(data_1) # [hell, w, rld]# 注意 默认去去空格
str11 ha sd
data_2 str11.split()
print(data_2) # [ha, sd] strip去除字符串开头与结尾的空格
# strip去除字符串开头与结尾的空格
str12 sdfg
data_3 str12.strip()
print(data_3) # sdfg# lstrip去除左边空格
str13 shuai
print(len(str13)) # 原字符串长度7
data_4 str13.lstrip()
print(len(data_4)) # 改变后字符串长度: 5# rstrip去除右边空格
str14 shushu
print(len(str14)) # 改变前字符串长度: 7
data_5 str14.rstrip()
print(len(data_5)) # 改变后字符串长度: 6upper: 小写改大写
# upper: 小写改大写
str15 qrtyQWE帅123
data_6 str15.upper()
print(data_6) # QRTYQWE帅123lower 大写改小写
# lower 大写改小写
str16 qrtyQWE帅123
data_7 str16.lower()
print(data_7) # qrtyqwe帅123capitalize: 字符串首字母大写
# capitalize: 字符串首字母大写
str17 hello 帅hi english
data_8 str17.capitalize()
print(data_8) # Hello 帅hi englishtitle: 字符串里面单词首字母大写
# title: 字符串里面单词首字母大写
str18 hello 帅hi english
data_9 str18.title()
print(data_9) # Hello 帅Hi English删 replace:替换
# 默认替换所有
str19 shuju真的很帅哈学习的快乐 哈哈哈哈
data_10 str19.replace(哈, -) # shuju真的很帅-学习的快乐 ----
print(data_10)# 指定替换次数
str20 shuju真的很帅哈学习的快乐 哈哈哈哈
data_11 str20.replace(哈, -, 2) # shuju真的很帅-学习的快乐 -哈哈哈
print(data_11)# 达到删除效果 ---- 删除空格
str21 sh 真的很 帅哈学习的 快乐
data_12 str21.replace( , )
print(data_12) # sh真的很帅哈学习的快乐replace(old, new [, count]) old:被替换的元素new替换成什么count可传可不传可指定替换次数默认所有 ❤️九.字符串拼接
拼接符:
str_1 你很
str_2 帅
splicing str_1 str_2
print(splicing) # 你很帅占位符%s
str_3 18
# 有几个占位符就得传几个字符串进去
placeholder %s今年%s岁 % (小明, str_3)
print(placeholder) # 小明今年18岁join方法
str_4 帅
str_5 真的
str_6 他join_merge -.join([str_6, str_5, str_4])
print(join_merge) # 他-真的-帅# join_merge .join([str_6, str_5, str_4])
# print(join_merge) # 他真的帅format
str_4 帅吗
str_5 真的
str_6 他# 默认位置 1对1
format_merge_1 {}{}很{}.format(str_6, str_5, str_4)
print(format_merge_1) # 他真的很帅吗# 根据下标位置 0 1 2
format_merge_2 {0}{2}很{1}.format(str_6, str_4, str_5)
print(format_merge_2) # 他真的很帅吗# 重新命名内部指定
format_merge_3 {n1}{n3}很{n2}.format(n1str_6, n2str_4, n3str_5)
print(format_merge_3) # 他真的很帅吗# python3优化的: 通过f申明配合{}进行直接指定插入
format_merge_4 f{str_6}{str_4}很{str_5}
print(format_merge_4) # 他真的很帅吗⭐十.字符串格式化
#1. %s 占位符
print(%s % 帅)#2. %r 显示原数据类型
print(%r % 帅)# %d 整数
print(%d % 1)# %f 浮点数
print(%f % 2.1)# %c ASCII
print(%c % 65)# %o 8进制
print(%o % 11)# %x 16进制
print(%x % 11)# %e 科学计数法
print(%e % 10.3)# -: 左对齐 6这位置指定长度 3这位置指定小数点后面保留多少位
print(%-6.3f % 10.3) # 优先满足小数点后几位数# :显示正号
print(%6.3f % 10.3) # 优先满足小数点后几位数# 格式化长度
print(%5s % ab) # abformat扩展
# format扩展# 保留小数点后两位
a1 {:.2f}.format(12.333)
print(a1)# 指定传入保留小数点后两位
a2 {s:.2f}.format(s12.333)print(a2)
# 百分比格式化
a3 {:.2%}.format(0.333)
print(a3) # 33.30%# 转十六进制
a4 {:x}.format(20)
print(a4)
# 转八进制
a6 {:o}.format(20)
print(a6)# 左对齐长度为10
a7 {a:10}.format(a12.3, b13.44)
print(a7)
# 传入数据长度不足用x填充
a8 {a:x10}.format(a12.3, b13.44)
print(a8)
# 右对齐
a9 {a:10}.format(a12.3, b13.44)
print(a9)
# 两边对齐
a10 {a:^10}.format(a12.3, b13.44)
print(a10)