字符串
#字符串定义方法
name1='31' #单引号注释法 无法换行
name2="dsadsa" #双引号定义法 无法换行
name3="""sadsadsadsadas"""#三引号定义法 跟多行注释一样写法支持换行 三引号注释法不用变量接收 时是注释 用变量接收时 是字符串
#在字符串内部包含双引号 或者单引号 外部用一个不同的引号声明就行 或者用\是后面的引号失效
name5='"dsadsadas"'
name6="'fsgdsffgds'"
name7="\"fdgfdgfd\"" \" 是转义字符 表示" 的意思
转义字符
\r 回车 \n 换行 \t 缩进 \\\\ 表示 \
字符串前加r表示字符串不转义
字符串的运算
#字符串拼接 变量和变量之间或者变量与常量的拼接 用+链接
name8=name7+name6
字符串也可以用于乘法 表示连续输入多次 这个字符串
字符串也是序列 可以通过下标访问
序列切片
# 序列切片 从一个序列中切出一个子序列
# # 序列名[起始下标:结束下标:步长] 起始下标留空表示从头开始 结束下标留空表示取到末尾 结束下标是不包含的
# # 只会取到结束下标-1 比如5 那么只会取到4 步长表示取元素的间隔 步长为1表示一个个的取 为2就表示跳过一个元素去一个 为负数时表示倒过来取
# # 对序列切片不会改变序列本身 只会生成新的序列
# str4=str1[0:4:1] #步长一般默认为1可以不写
# print(str4)
字符串格式化
#字符串格式化 占位型拼接 %s表示有一个字符串量进行了占位 再用%name1把这个name1量放到占的位置去 %name1可以不是字符串类型
name9='fdgfd:%s'%name1
number1=21321
name10='fdgfd:%s'%number1
#下面是多个变量占位再放入的写法
name11='fdgfdgfd:%s,asdsadsa:%s'%(number1,name4)
#上面这种方式%s是数字变为字符串再拼接的方法
"""还有这几种转换方式
%d 将内容转化为整数再占位
%f 转为浮点数占位
"""
#多个占位写法
folatnumer1=12321.12321
name12='312321:%s,21321:%d,adssa:%f'%(name8,number1,folatnumer1) # %括号起来再按顺序放入
#字符串格式化精度的控制 使用辅助符号m.n控制宽度和精度 .n是小数部分的精度会进行四舍五入 m是整数加小数加小数点的宽度 需要注意的是宽度m比数字本身小的话 宽度是不会生效的
name13="fsgdfds:%5.2f"%folatnumer1 #整个数宽度5 小数部分2位
#快速格式化方式 这种方式不会限制数据类型 没有精度控制 句子引号最开始的地方加f 中间需要加入的变量用{}括起来
name14=f'我是{name2},我出生于{number1},我的生日是{folatnumer1}'
#表达式格式化 把原来要放入的变量 化为表达式带入
name15='dwqeqw:%d'%(1+1)
name16=f'dwadwa:%s'%type("zgfsdf")
str.capitalize()将字符串的第一个字符转换为大写
str.upper()转换字符串中的小写字母为大写
str.count(元素) 统计某个元素的个数
这个元素也可以是一段子串
#字符串的替换
# # .replace(字符串1,字符串2,max)将str里面的全部字符串1改为字符串2 但是 是得到一个 新的字符串 不是修改原来的字符串 替换次数最多max次 max默认为无限大
# str2=str1.replace('and','or')
# print(str2)
# # 字符串的分割
# # 字符串.split(分隔符字符串) 字符串本身不变 而是得到了一个列表对象
# # 比如 "1321 1321321 1231 21321321 2132132 21321321321" 以空格分割会得到 一个列表 ['1321','1321321','1231','21321321','2132132','21321321321']
# #把一个字符串分为几个字符串
# str3=str1.split(' ')
# print(str3)
"-".join(str1) str 中的每一个元素之间都会有一个-链接 得到的新的字符串
#通用排序
# sorted(容器,[reversed=True]) [reversed=True]是反转排序 默认是false 对内容排序放入列表中字典会丢失值 返回一个新的序列
list4=sorted(list3)
print(list4)
str.find("a") 返回a在str中的位置下标 找到了
没有就返回-1
str.find(str, beg=0, end=len(string)) 从0开始 末尾结束