#? 假如字符串中有引号符号? 单引号与双引号嵌套使用
#? 默认pep8规范单行字符串不要超过120字符可以用\换行连接
#? """hello""" 三引号也可以用 但是一般用于特殊的带格式的字符串
#? 文档注释 三引号必须放开头
s1 = "i'm a boy "
import random
print(random.__doc__)
# 获取random下的文档
s2 = """
*
**
***
****
"""
print(s2,type(s2))
#? 转译字符"\"会将后续内容转译
#? \\ 第一个\是转译第二个\ 告诉解释器第二个\就是普通意义的字符
#? \\n 换行
#? \\t 使用制表符 相当于 Tab 键
#? \" 双引号 "想要输入双引号输入\"就可以了"
#? 退格\b 相当于删除键
s3 = "哈喽\b你好" # 结果是:哈你好
print(s3)
s4 = "你好哈喽\t你好吗喽" # 你好哈喽 你好吗喽
print(s4)
s5 = "你好哈喽\n你好吗喽" # 你好哈喽
# 你好吗喽
print(s5)
s6 = "你好哈喽\"你好吗喽" # 你好哈喽"你好吗喽
print(s6)
s7 = "你好哈喽\\你好吗喽" # 你好哈喽\你好吗喽
print(s7)
#? 拼接:"+"连接
s1 = "hello"
s2 = "python"
s3 = s1+s2
print(s3)
# 索引 :下标 可以找到字符串中的任意一个字符
# 范围:[0,len-1] len()可以获取字符串长度
#? 第一位是0? ?# 不能超过索引范围? 会报错
for c in s 直接获取每一个字符
for i in range(len(s)) i 代表每一个字符的索引
str = input("输入:")
for i in range(len(str)):
print(i,str[i])
s [i] 代表索引i对应的字符
s = input("输入")
s = "你好世界你好大家"
#? 格式化字符串 .format 默认按顺序赋值 可以指定参数位置
a = 10
b = 20
print(f"a={a},b={b}")
print("a={},b={}" .format(a,b)) # 默认第0个是10 第一个是20
print("a={1},b={0}" .format(a,b))
?# .join 拼接 w+o+r+l+d 使用指定的字符串 将可迭代(可使用for循环遍历)内容拼接
# .strip() 剔除空格 也可剔除指定字符
# print("hello world ".lstrip()) # 右边的空格踢不掉
# print("hello world ".lstrip("he"))
print("31233123".count("123",3,8)) # 1
?# .find 默认整个字符串查找第一次出现的位置 找不到报-1
print("31233123".rfind("123")) # 5 虽然是从右边开始找,但索引数从左往右
print("111112222223".rfind("3",0,11)) # 结果为-1 不包括结尾
?# 字母大小写转换
# 首字母大写
print("hello world".capitalize()) # Hello world
# 全部转化成小写
print("Hello WORld".lower())
# 全部转化成大写
print("Hello WORld".upper())
# 大小相互转化 大写转成小写 小写转成大写
print("Hello WORld".swapcase())
# 每个单词的首字母大写
print("hello world".title())
?# 填充
# 用0填充 指定字符长度内 除了字符 其余都用0 填充
print("客户".zfill(20))
# 居右 其余默认空格填充
print("客户".rjust(20))
# 居左 其余默认空格填充
print("客户".ljust(20))
# .index 类似find, 但找不到会报错
# .rindex 从右侧开始找
# 编码和解码 encode decode
# 开头 结尾
# 判断结尾是否填充正确 正确True 错误 False
print("郑州市金水区".endswith("金水区"))
# 判断开头是否填充正确 正确True 错误 False
print("郑州市金水区".startswith("西安"))
?#?替换 replace
s3 = input("输入字符串")
print(s3.replace(" ", "-"))
?# 切割split? 将字符串使用指定内容切割?
# count 统计字符串出现的字数 默认从开头到结尾 也可指定开头和结尾(包括开头 不包括结尾)
# center 居中对齐
#? .isdigit() 判断是不是数字
# isdigit() 判断是不是数字 数字和汉字
# isnumeric() 全数字
# isalpha() 全字符 字母和汉字
# isalnum() 数字字符汉字