字符串的格式化问题 字符串的常规操作

数据类型

int,float

bool :用来做条件判断的 取值:true false

在python中,所有的非零的数字都是True,零是False

在python中,所有的非空字符串都是True,空字符串是False

综上:在python的基本数据类型中,表示空的东西都是False,不空的东西都是True

while 1: content=input("请输入你要说的话") if content: print(content) else: break

字符串的格式化问题

%s 字符串占位 %d 占位整数 %f 占位小数

#我叫xxx,我住在xxx,我今年xx,我的爱好是xxx name=input("请输入你的名字") add=input("请输入你的地址") age=int(input("请输入你的年龄")) hobby=input("请输入你的爱好") s="我叫%s,我住在%s,我今年%d,我的爱好是%s" % (name,add,age,hobby) s1="#我叫{},我住在{},我今年{},我的爱好是{}".format(name,add,age,hobby) s2=f"#我叫{name},我住在{add},我今年{age},我的爱好是{hobby}" print(s) print(s1) print(s2)

推荐使用s2 f——string

索引和切片

索引:按照位置提取元素,采用索引的方式来提取某一个字符(文字)

切片:从一个字符串中提取一部分内容 (左闭右开) print(s[start,end])

如果start是开头进行切片,可以省略 截取到末尾也可以省略

s="我的名字是周杰伦" s1="zxcvbnmqwertyuiopasdfghjkl" s2="我爱你" print(s[0]) print(s[-1])#-1表示最后一个 print(s[0:3])#提取一部分内容 print(s[-3:-1])#还是从左往右,所以左边的数要小于右边的,从后面开始切片 print(s1[::5])#从头到尾,每隔五个数取一个 print(s2[::-1])#表示从右往左

字符串的常规操作

字符串的操作一般不会对原字符串产生影响,一般是返回一个新的字符串

s="python" s1=s.capitalize()#字符串大小写转换 print(s1) s3="I have a dream" s2=s3.title()#单词的首字母大写 print(s2) s4=s3.lower()#变成小写字母 print(s4) s5=s3.upper()#把所有的字母变成大写字母 print(s5)

当输入验证码忽略大小写 upper()

verify_code="x2D5" user_input=input(f"请输入验证码{verify_code}:") if verify_code.upper()==user_input.upper(): print("验证码正确") else: print("验证码输入不正确")

去掉空格 .strip()

username=input("请输入用户名").strip() password=input("请输入密码").strip()#去掉字符串左右两端的空白符(空格,\t,\n) if username=="admin" and password=="123456": print("登录成功") else: print("登录失败")

字符串的替换 replace(old,new)

s="你好,我是xxx" s1=s.replace("xxx","周清") print(s1)

字符串切割 split("用什么去切割")

切割之后的结果会放在列表当中 用什么切,就会损失谁

s="hhffskf-fgajkfaf-sfhskhf" s1=s.split("-") print(s1)

字符串的查找 find() index() in [not in] 不存在

s="你好,我是周清" s1=s.find("周清") print(s1)#5 s2=s.index("周清") print(s2)#5 print("周清" in s)#True

判断 startswith("判断的条件") endswith()

name=input("请输入你的名字") if name.startswith("张"): print("你姓张") else: print("你不姓张")

判断字符串是否由整数组成 .isdigit()

money=input("请输入你还有多少钱") if money.isdigit():#判断money是否是整数 money=int(money) print("你就可以花钱") else: print("输入的金额错误")

len() 长度

s="hello" print(len(s))

join() 字符串之间添加

list=['hello','world','!'] s="_".join(list) print(s)#hello_world_!

总结

1. f-string 格式化

f"{变量}"格式化一个字符串

2. 索引和切片

  1. 索引:从 0 开始
  2. 切片:s[start: end: step],end 位置的数据永远取不到

3. 字符串相关操作

字符串操作不会修改原字符串,只会生成新字符串:

  1. upper():全部转大写,用于忽略大小写判断场景
  2. strip():去除字符串左右两端空白(空格、制表符\t、换行\n
  3. replace():字符串内容替换
  4. split():按照分隔符切割字符串,返回列表
  5. join():将列表里的元素拼接成一个新字符串
  6. startswith():判断字符串是否以指定内容开头
  7. len():内置函数,获取字符串长度

4. 字符串循环遍历

for c in s:

print(c) # 依次取出字符串中的每一个字符

5. 关键字 in 的两种用法

  1. 判断子串是否存在:子串 in 字符串,返回布尔值
  2. 用于 for 循环遍历序列(字符串 / 列表等)