收录于话题
#Python入门
27个
基础入门的知识一直没有更新完,今天小张接着给大家带来入门级的字符串的常用操作。本文适合刚入门的小白,大佬们请绕过。
一、定义
字符串的意思就是“一串字符”,比如“Hello,Charlie”是一个字符串,“How are you?”也是一个字符串。
Python 要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行,只要两边的引号能配对即可。
简单说下几个特点:1.字符:即单一的文字符号,
2.字符串:即是有序的字符组成的序列,其中用 '、 " 、 ''' 、"""、 括起来的内容
3.索引:一排数字反映第某个位置的字符,索引的下表是从0 开始的,使用 中括号 [ ] 来获取数据,反向的话是从-1开始的
例如 :1s="刘德华很帅但是张国荣更"
2print(s[-4]+s[2]+s[1]+s[0])
3#结果
4张华德刘
二、常用操作
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的,即有返回值1.upper() 转换成大写 ,忽略小写的时候用 与之对应的是lower()1whileTrue:
2content=input("请输入你要喷的内容(输入Q退出):")
3ifcontent.upper()=='Q':#当用户输入q或者Q的时候退出.这里要忽略大小写
4break
5print(content)2.strip() 去掉左右两端的空白,包括括号及\n 和\t,用户内容输入有空白时用1username=input("请输入用户名:").strip()
2password=input("请输入密码:").strip()
3ifusername=="xiaozhang"andpassword=="123":
4print("成功")
5else:
6print("失败")#假如用户输入xiaozhang时,前面或者后面有空格不好判断,此时可以这样用,能保证用户正确登陆3.replace("old","new")字符串 替换1s="xiaozhangisahandsomeman"
2s1=s.replace("handsome","nice")
3s2=s.replace("a","AB",2)#将a替换成AB,替换2次
4print(s1)#xiaozhangisaniceman
5print(s2)#xiABozhABngisahandsomeman4.split("以那个切割",次数) 字符串切割 结果是list(列表),默认以空白切割1s="xiaozhang_qq_niannian"
2s1=s.split("_")#以哪个切割,哪个就要丢失
3s2=s.split("xiaozhang_qq_niannian")#切割的内容在边上.会出现空字符串
4s3=s.split("x",1)#结果为['','iaozhang_qq_niannian']
5print(s1)#结果为['xiaozhang','qq','niannian']
6print(s2)#结果为['','']
与之对应的还有rsplit()
string.rsplit(separator, max)
方法从右侧开始将字符串拆分为列表。
如果未指定 "max",则此方法将返回与 split() 方法相同的结果。
注释:若指定 max,列表将包含指定数量加一的元素。5.startswith("以哪个开始") 判断是否以xxx开头 与之对应的是endswith 输出结果为False和True1s="今天的内容非常简单.你们信吗?作业也很容易.就是整理不太好"
2print(s.startswith("今天"))#True
3print(s.endswith("太好"))#True6. find() 查找变量出现的位置,显示索引,如果查不到为-1,如果是index查找,没有的话程序会报错1s="小张学Python公众号值得推荐"
2print(s.find("哈哈"))#如果找不到返回-1
3print(s.find("小"))#结果为0找到了显示索引号码07. isdigit() 判断是否是数字组成(整数) 结果为False 和True 同理 isupper(判断是否是大写) islower(判断是否为小写) .isalpha(是否为字母)1s="1234"
2print(s.isdigit())#显示True,如果字符串中有字母或者标点符号即为False8. len() 求长度. 内置函数1s="小张学Python公众号值得推荐"
2print(len(s))#16返回给你字符串的长度9.count("") 计数1s="小张学Python公众号值得推荐!推荐!推荐!"
2print(s.count("推荐"))#计数显示3
3s="小张学Python公众号值得推荐!推荐!推荐!"
4print(s.count("推荐",0,20))#结果显示210.center() 居中1a="小张学Python"
2print(a.center(20,"*"))
3#结果:
4*****小张学Python******11.rjust() 右对齐1print(a.ljust(20,"*"))
2#结果:
3***********小张学Python12.ljust() 左对齐1print(a.ljust(20,"*"))
2#结果:
3小张学Python***********13.迭代
格式:1for变量in可迭代对象:
2代码块#可迭代对象中的每一个元素,分别赋给前面的变量,,可以将迭代对象遍历.
字符串就是可迭代的对象
记住报错: TypeError: 'int' object is not iterable int对象是不可迭代的
例子:1ss="小张学Python公众号值得推荐"
2forccinss:
3print(cc)#以此打印每个字符
4#或者利用while方法
5count=0
6whilecount
7print(ss[count])
8count+=114 切片
格式:
srt[start:end:step]
从start开始截取,到end结束,但不包括end,step不写的话默认是1且从左往右切,step正数从左往右,如果是负数,从右往左,每n个取1个例如:1s="刘德华很帅但是张国荣更"
2print(s[1:])#从第一个索引打印到结尾德华很帅但是张国荣更
3print(s[:4])#从开头打印到第三个即结果为刘德华很
4print(s[:])#打印全部刘德华很帅但是张国荣更
5print(s[::-1])#更荣国张是但帅很华德刘
6print(s[:-1])#把最后一个字符去掉即刘德华很帅但是张国荣15.利用切片判断是否为回文的案列:
定义:把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。1n=input("输入回文")
2ifn==n[::-1]:
3print(True)
4else:
5print(False)
6#例如输入
7上海自来水来自海上,则打印True