政务服务网站建设方案,wordpress 更改主页,app开发公司排行榜,wordpress移动端导航栏字符串的表示方式
在Python中,可以使用一对单引号/双引号或者一对三个双引号/一对三个单引号表示字符串
a hello
b hello
c hello
d hello
# 如果字符串里面还有双引号,外面就可以使用单引号
# 反之一样
# 如果字符串里…字符串的表示方式
在Python中,可以使用一对单引号/双引号或者一对三个双引号/一对三个单引号表示字符串
a hello
b hello
c hello
d hello
# 如果字符串里面还有双引号,外面就可以使用单引号
# 反之一样
# 如果字符串里面有双引号,外层也可以使用一对三个双引号或者一对三个单引号字符串中的转义字符 \
x I\m xiaoming # \ 表示的是转义字符,作用是对 \ 后面的字符进行转义
# \ 显示一个普通的单引号
# \ 显示一个普通的双引号
# \n 表示一个换行
# \t 表示一个制表符
# \\ 表示一个普通的反斜线
# 在字符串引号前添加一个r,在Python中表示的是原生字符串字符串的下标和切片
下标我们也可以称之为索引,表示第几个数据可迭代对象: str list tuple dict set range 都可以遍历其中 str list tuple 可以通过下标来获取或者操作数据在计算机中,下标都是从0开始的可以通过下标来获取或者修改指定位置的数据 字符串是不可变的数据类型 对于字符串的任何操作都不会修改原有的字符串!!! 切片操作就是从字符串中复制一段指定的内容,生成一个新的字符串 # 切片语法:
# m[start:end:step]
# 包含start,不包含end
# 如果只设置了start,会从start到结尾
m[1:]# 如果只设置了end,会从开头到end
m[:4]# step代表步长,每隔step-1取一次
m[2:5:1]# 步长默认为1,步长不能为0# 步长为负数的时候代表从右往左找,同时应注意start及end
m[15:3:-1]# 可以使用::复制字符串
m[::]# 可以使用::-1将字符串倒置
m[::-1]# start和end如果是负数,但step不为负数时,相当于从右往左找找到对应的start和end(右往左第一个是-1),但字符串输出还是从左往右
a abcdefghijklmnopqrstuvwxyz
print(a[-9:-5])
# rstuprint(a[-5:-9:-1])
# vuts字符串的常见操作
a abcdefghijklmnopqrstuvwxyzi
# 获取字符串的长度
print(len(a)) # 27# 查找内容相关的方法# find/index/rfind/rindex 可以获取指定字符的下标
print(a.find(i)) # 8,如果字符存在,返回下标,不存在返回-1
print(a.index(i)) # 8,如果字符存在,返回下标,不存在就报错
print(a.rfind(i)) # 26,从右往左查找第一个指定字符(最大索引),不存在返回-1
print(a.rindex(i)) # 26,从右往左查找第一个指定字符(最大索引),不存在报错# 判断相关的方法# startswitch,endswitch,isalpha,isdigit,isalnum,isspace
# is开头的是判断,结果是一个布尔类型
# 均为字符串的使用方法
# startswitch 以某个字符开始
# endswitch 以某个字符结束
# isalpha 是否是字母
# isdigit 是否是数字
# isalnum 是否是数字加字母,只写数字或者只写字母都是True
# isspace 是否全部是空格# 字符串替换方法# replace
word hello
print(word.replace(l,x)) # 原来的字符串不会变,而是生成一个新的字符串用来保存替换后的结果字符串内容分割的相关操作 split rsplit splitlines parttion rparttion x zhangwan-lisi-wangwu-ermazi-dazhutou
# 使用split方法,可以将一个字符串切割成一个列表,可以传两个参数,第一个是分隔的字符,第二个是分隔的次数
print(x.split(-)) # [zhangwan, lisi, wangwu, ermazi, dazhutou]
print(x.split(-,2)) # [zhangwan, lisi, wangwu-ermazi-dazhutou]# 使用rsplit方法,可以将一个字符串切割成一个列表,传第二个参数代表从右往左分几次
print(x.rsplit(-)) # [zhangwan, lisi, wangwu, ermazi, dazhutou]
print(x.rsplit(-,2)) # [zhangwan-lisi-wangwu, ermazi, dazhutou]# 使用splitlines,可以将一个字符串按照换行符进行分隔,返回一个列表
a hello \n world
print(a.splitlines()) # [hello , world]# 使用partition,可以按照传入的参数从左往右查找第一个匹配的参数,将字符串分为三个部分,返回一个元组
x zhangwan-lisi-wangwu-lisi-ermazi-dazhutou
print(x.partition(lisi)) # (zhangwan-, lisi, -wangwu-lisi-ermazi-dazhutou)# 使用rpartition可以按照传入的参数从右往左查找第一个匹配的参数,将字符串分为三个部分,返回一个元组
print(x.rpartition(lisi)) # (zhangwan-lisi-wangwu-, lisi, -ermazi-dazhutou)字符的编码
ASCII码表使用一个字节来表示一个字符.最多只能表示128个,不适用最高位,0-127ISO-8859-1 使用了最高位 0-127 和 ASCII码表完全兼容,最多能表示255个字符,0-254Unicode编码 -- 绝大部分国家的问题都有一个对应的编码
字符串的编码集 使用内置函数 chr 和 ord 能够查看数字和字符的对应关系 ord 获取字符对应的编码 chr 根据编码获取对应的字符 print(ord(A)) # 65
print(chr(65)) #A将字符串转换为指定的编码集的结果如果有一个编码集的结果,想把它转换为对应的字符,使用decode
# 字符串转换为指定的编码集
a 你
print(a.encode(gbk))
print(a.encode(utf-8))# b\xc4\xe3
# b\xe4\xbd\xa0# 编码结果转换为对应的字符
x b\xe4\xbd\xa0
print(x.decode(utf-8))# 你成员运算符 in 和 not in 运算符的优先级 用来判断一个内容在可迭代对象中是否存在 word hello
c input(请输入一个字符)for x in word:if x c :print(你输入的内容存在)break
else:print(你输入的内容不存在)格式化打印字符串
可以使用 % 占位符来表示格式化一个字符串%s 表示的是字符串的占位符%d 表示的是整数的占位符 %nd 打印时,显示n位,如果不够,在前面使用空格补齐 %f 表示的是浮点数的占位符 %.nf 打印时保留小数点后n位 %x 将数字使用十六进制输出%% 输出一个%
name zhangsan
age 18
print(我叫%s,今年%d岁了%(name,age))# 我叫zhangsan,今年18岁了# %d 拓展用法
print(今天是第%3d天%(5))
print(今天是第%03d天%(5))
print(今天是第%-3d天%(5))# 今天是第 5天
# 今天是第005天
# 今天是第5 天# %f 拓展用法
print(我有%.2f元钱% 3.1415926)# 我有3.14元钱字符串的format方法的使用
{}也可以用于字符串占位
# {}中什么都不写,会读取format方法后面的内容,一一对应填充
x 大家好,我是{},今年{}岁了.format(zhangsan,18)
print(x) # 大家好,我是zhangsan,今年18岁了# {数字}会根据数字的顺序读取format方法后面的内容,按顺序对应,数字从0开始
x 大家好,我是{1},今年{0}岁了.format(18,zhangsan)
print(x) # 大家好,我是zhangsan,今年18岁了# {变量}会根据变量读取format方法后面的内容,一一对应填充
x 大家好,我是{name},今年{age}岁了.format(age 18,name zhangsan)
print(x) # 大家好,我是zhangsan,今年18岁了# {数字}{变量}可以混合使用,但是需要一一对应
# {}和{数字}不可以混合使用# 列表配合format使用
d [zhangsan,18]
x 大家好,我是{},今年{}岁了.format(*d)
print(x) # 大家好,我是zhangsan,今年18岁了#字典配合format使用
d {name:zhangsan,age:18}
x 大家好,我是{name},今年{age}岁了.format(**d)
print(x) # 大家好,我是zhangsan,今年18岁了