str()可以将任意数据类型转换为字符串
(1)、单元号、双引号、三引号
s0 = "双引号字符串"
s1 = '单引号字符串'
s2 = """
三引号用于声明特殊格式,以及文档注释,以及类注释
即 里面的格式都可以保留
单双引号都可以
放在文档开头
"""
(2)、获取文档:
# 获取文档注释: .__doc__
import random
print(random.__doc__)
(3)、单引号与双引号配合使用,不可同一字符嵌套使用。
s3 = "123'3'3435"
(4)、字符串长度
# PEP8规范,单行字符串不要超过120个字符
# 可以用: 空格\空格 回车,来换行
# 也可以在字符串中使用回车换行
s4 = "2154333566688888" \
"888888888888" \
"8666666666666"
# s5 = "2324\gd1fh" # 要转义
s6 = "32435\\ret"
s7 = "\\\\gq4rg\\ew3ew324"
# \\gq4rg\ew3ew324 ,\也要转义
print(s6, s7)
s8 = "换行转义字符为\n即换行"
s9 = "制表符转义字符为\t即制表符"
s10 = "在双引号前加\可输出双引号,即:\";单引号同样适用,即:\'"
s11 = "退格转义字符为\b,即向前删除一个字符"
# 结果
# 32435\ret \\gq4rg\ew3ew324
# 32435\ret
# 换行转义字符为
# 即换行
# 制表符转义字符为 即制表符
# 在双引号前加\可输出双引号,即:";单引号同样适用,即:'
# 退格转义字符,即向前删除一个字符
s0 = "hello"
s1 = "world"
s2 = s1 + s0
s0 *= 3
[0, len - 1]
print(s0[5])
print(len(s0))
str_value = input("请输入:")
print(str_value, str_value[0], str_value[len(str_value)-1])
length = len(str_value)
(1)、不带索引
# 相当于在字符串中遍历,遍历每一个字符
for i in str_value:
print(i)
(2)、使用字符串索引可以取到关键字
for j in range(length):
print(j, str_value[j]) # j为索引
value = input("请输入:")
length = len(value)
for i in range(length // 2):
if value[i] != value[length - i - 1]:
print("不对称")
break
else:
print("对称")
# 关键在与找出索引之间的规律
# {}中的下标要同时有或同时没有,下标的顺序为format中参数的内容
print("a={}, b={}".format(8, 9))
print("a={0}, b={1}".format(8, 9))
print("a={1}, b={0}".format(8, 9))
print(f"a={a}, b={b}")
# 结果a=8, b=9
# a=8, b=9
# a=9, b=8
# a=8, b=9
# 将前面的内容,添加到后面的每一个字符中
# 后面的内容要为可以迭代(可以使用for遍历)的内容
print("+".join("helloword"))
print("-".join(["天", "天", "开", "心"]))
# # h+e+l+l+o+w+o+r+d
# # 天-天-开-心
# split分割,返回列表
print("123123123123123".split("2"))
# ['1', '31', '31', '31', '31', '3']
# 去除的内容无论是正的还是反的都可以去除,并且可以不论几个都可以去除
print(" ‘默认去除空格’ ".strip())
print("*****--可编辑去除内容-*-*".strip("**"))
print("1234--可编辑去除内容-321".strip("123"))
print("1234--可编辑去除内容-123".strip("123"))
print("3211234--可编辑去除内容-123321".strip("123"))
# # --可编辑去除内容-*-
# # 4--可编辑去除内容-
# # 4--可编辑去除内容-
# # 4--可编辑去除内容-
.lstrip()去除左侧内容
print("1234去除左边的内容1234".lstrip("1234"))
# # 去除左边的内容1234
.rstrip()去除左侧内容
print("1234去除左边的内容1234".rstrip("1234"))
# # 1234去除左边的内容
# .count("", start, end)
print("1231231231231243".count("123"))
print("1231231231231243".count("123", 3, 9))
# # 0123456789
# # 结果
# # 4
# # 2
# -1表示没有
# 索引不会变,都是从左到右
# 默认从左到右,从开始到结尾
# .find("", start, end)
print("123123123123123".find("312"))
# 结果:2
# rfind("", start, end),从右开始找,找到的第一个等于字符串的索引
# 结尾边界不包括,即结尾要取到需要索引加一
print("123123123123".rfind("123", 5, 12))
# # 0123456789
# 结果:9
# .index("", start, end)不包括最后一个索引值
# 和find相似,但找不到结果直接报错,索引值超过不会报错
print("123123123123".index("23", 3, 10))
print("123123123123".index("243", 3, 10))
# 结果:4
# ValueError: substring not found
# (2)、rindex
# 默认从右侧开始数,也可设置开始结束值,但索引还是从左向右开始
print("123123123123".rindex("12"))
print("123123123123".rindex("23", 5, 12))
# 结果:9
# 10
# encode编码解码方式要一致
# encoding默认为UTF-8模式,可定义其他编码
num_encode = "清澈的小溪".encode(encoding="GB2312")
print(num_encode)
print(num_encode.decode(encoding="GB2312"))
# 结果:
# b'\xc7\xe5\xb3\xba\xb5\xc4\xd0\xa1\xcf\xaa'
# 清澈的小溪
# (1)、capitalize() 将首字母转换成大写
print("this is a magnificent building.".capitalize())
# 结果:This is a magnificent building.
# (2)、upper() 全都换成大写
print("this is a magnificent building.".upper())
# 结果:THIS IS A MAGNIFICENT BUILDING.
# (3)、lower() 全都换成小写
print("thIs is a MagniFIcent bUilding.".lower())
# 结果:this is a magnificent building.
# (4)、title() 将所有单词的首字母转换成大写
print("this is a magnificent building.".title())
# 结果:This Is A Magnificent Building.
# (5)、title() 切换大小写
print("thIs is a MagniFIcent bUilding.".swapcase())
# 结果:THiS IS A mAGNIfiCENT BuILDING.
# (1)、center()居中对齐,其中的参数为字符所占的页面数,即字符串加上填充的总数
# 默认以空格填充,也可定义其他内容,但只能是一个字符,可以是字母、符号、数字、汉字
print("登录页面".center(30, "*"))
# 结果:*************登录页面*************
# (2)、ljust()字符串靠左位置
# 默认以空格填充,也可定义其他内容,但只能是一个字符,可以是字母、符号、数字、汉字
print("Dear Professor:".ljust(30, "+"))
# 结果:Dear Professor:+++++++++++++++
# (3)、ljust()字符串靠右位置
# 默认以空格填充,也可定义其他内容,但只能是一个字符,可以是字母、符号、数字、汉字
print("Yours Sincerely".rjust(30, "-"))
# 结果:---------------Yours Sincerely
# (4)、zfill()以0填充,字符串在右侧
print("Have a good day.".zfill(30))
# 结果:00000000000000Have a good day.
# (1)、startswith("") 判断开始,参数为眼判断的字符串
print("常记溪亭日暮沉醉不知归路".startswith("常记溪亭"))
# 结果:True
# (1)、endswith("") 判断结束,参数为眼判断的字符串
print("常记溪亭日暮沉醉不知归路".endswith("路归"))
# 结果:False
print("今天的天气为晴天".replace("晴天", "阴天"))
# 结果:今天的天气为阴天
# (1)、.isalnum() 判断是否为字母或数字
# 字母部分可以是中文和字母,但不能是符号标点
print("今天的天气为晴天Sunday20240111".isalnum())
# 结果:True
# (2)、.isalha() 判断是否全为字母
print("Sunday转阴".isalpha())
# 结果:True
# (3)、.isnumeric() 判断是否全为数字
# 只能是整数,不可为小数
num = 123.45
a = str(num)
print(a.isnumeric())
print("43265726".isnumeric())
# 结果:False
# True