创建字符串可以使用单引号、双引号、三引号和三双引号,其中三引号可以多行定义字符串,python不支持单字符类型, 单字符也在python也是作为一个字符串使用
我们定义一个s=‘python’语句,它在计算机中的执行顺序是先在内存中创建一个字符串python, 在程序栈寄存器中创建一个变量s,最后把python在寄存器中地址放在这个s变量中
字符串的索引 下标->> 由0开始
name = "小王子长相甜美并且温柔"
# 切片 【开始:结尾】 取左不取右
print(name[0:3])
print(name[:])
print(name[-1])
print(name[-3:-1])
print(name[-3:])
print(name[:]) # [:]->>切片整个字符串
# 切片 【开始:结尾:步长】 取左不取右
print("****************************************带步长****************************************")
print(name[0:6])
print(name[0:6:2])
print(name[-6:-1])
print(name[-6:-1:2])
# 反转打印字符串
print("****************************************反转打印****************************************")
print(name[::-1])
"""
字符串的拼接 +
"""
print("****************************************字符串的拼接****************************************")
gaoqian = "正在" + "搞钱"
print(gaoqian)
person = "小明"
action = "爱吃"
something = "臭豆腐"
test1 = ','.join((person,action,something))
print(test1)
"""
字符串格式化 {}
format()
format:格式化输出(进阶)
1、格式化小数长度(四舍五入) : .2f
2、将小数按百分比的形式显示 :.2%
s = 3.6567
len() : 字符串长度
"""
print("****************************************字符串格式化****************************************")
s3 = "大家好,我的名字叫{},今年{}岁,性别{}".format("小明","118","男")
s4 = "大家好,我的名字叫{1},今年{0}岁,性别{2}"
print(s3)
print(s4.format("小明","118","男"))
print("s3的长度是" + str(len(s3)))
s11 = 3.6567
s12 = 5.6567
print("3.6567四舍五入保留两位等于:{0:.2f}".format(s11,s12))
print("5.6567四舍五入保留两位等于:{1:.2f}".format(s11,s12))
print("{:.2%}".format(s11))
print("{:.3%}".format(s11))
"""
find : 查找元素位置
查找字符串片段在字符串中的下标位置,从前往后找,返回的是第一个被找到字符串片段起始位置
第一个参数:要查找的字符串片段
第二个参数:要查找的起始点
第三个参数:要找到终止位置 -1
如果查找的字符串存在多个,查找结果是第一个出现的字符串下标
找不到就返回-1
count:统计字符串片段,在字符串中出现的次数
找不到返回0
"""
print("****************************************查找字符串元素位置****************************************")
s5 = "小明爱吃小明"
print(s5.find("小明",0,-1))
print(s5.count("小明",0,1))
print("****************************************字符串替换****************************************")
"""
字符串常用方法:
replace:替换指定的字符串片段
参数1:要替换的字符串片段
参数2:替换之后的字符串片段
参数3:替换的次数,从前往后替换(默认所有的)
upper:将小写字母转为大写
lower:将大写字母转成小写
"""
s6 = "i am sam"
res = s6.replace('am' , 'k',1)
print(res)
print(s6.upper().lower())
"""
split:指定分割点对字符串进行分割
参数1:分割点
参数2:分割次数(默认找到所有的分割点进行分割)
strip:去除字符串首位的空格
"""
print(" 111ab222ab333ab444ab ".split("ab",2))
print(" 111ab222ab333ab444ab ".strip().split("ab"))
print(" 111ab222a b333ab444ab ".replace(' ',''))
"""
传统的格式化输出方法:%
%s : 为字符占位,任意类型都可以
%d :为数值类型占位
%f :为浮点数占位
s1 = "%s---%d--%f"%('a','b','c')
F表达式(F、f都一样,python3.6以上支持
name='sam'
age='18'
s7=F"我的名字{name},年龄{age}"
print(s7)
"""
print('w %s you'%([1,2]))
# F表达式
name = 'sam'
age = '18'
s7 = F"我的名字{name},年龄{age}"
print(s7)