字符串类型内置放方法

字符串

1.作用:姓名/性别等

2.定义方式:

s = b'sdkljl'	# 打印出来的bytes类型,二进制类型,01010101011010100 # 有着这种二进制的定义方式,其实一点用都没有
print(s)

print('sdkljl')

\n 换行

s = 'a\na'	#碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义
print(s)

\t 缩进4个空格

s = 'a\t\ta'
print(s)

\r 回退上一个打印结果,覆盖上一个打印结果

print('\ra',end='')		# \r必须开头,本来打印两个,会被下面的覆盖上面的,变成一个
print('\ra',end='')		

s = 'a\\na'			# 加一个\会让后面的\变得无意义
print(s)
s = r'a\n\t\ra' 	#如果引号前面价格r会让其中的转义字符全失效
print(s) 

创建文件import os(导入os操作系统)

path = 'D:\python学习\python进阶'
import os
path = os.path.join(path,'test.txt')
with open(path,'w',encoding)
    fw.write('nick最丑')
print(path)

3.内置方法:s.~~点出来的叫内置方法

s = 'nick handsome'
## 优先掌握(今天必须dai掌握)
# 1.索引取值
print(s[1])			#结果为:i

# 2.切片
print(s[4:0:1])		# 1表示从左到右	结果为: (空格)
print(s[-4::-1])	# -1表示从右到左	结果为:sdnah kcin
print(s[4:0:-1])	# -1表示从右到左	结果为:kci

# 3.for循环
for i in s:
    print(i)
    
# 4.strip()
s1 = '		nick handsome		'
print(s1.strip())  		#去两端的空空格	结果为:nick handsome
s2 = '***!!!nick handsome----***'
print(s2.strip('*!-'))	#制定多个字符一起去掉,只要字符串里面有的字符就全部干掉
# 原理
s.strip('-*') 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有就去掉,没有停止去掉
print(s2.strip('*nick'))#结果为:!!!handsome----
print(s2.strip('nick')) #结果为:***!!!nick handsome----***

# 5.split()  切割
print(s2.split())  	  # 默认以空格切割字符串  
print(s2.split('!'))  # 以!位置切割  结果为:['***','','','','nick hsndsome----***']
print(s2.split('!',2)) # 2表示切割两次的意思  结果为:['***','','','!nick handsome----***']

s2 = '***!!!nick handsome----***'
# 6.in 或 not in
print('*' in s2)  	  #True
print('$' not in s2)  # True

# 7.长度len()
s2 = '***!!!nick handsome----***'
print(len(s2))   # 求字符串的长度
## 需要掌握(一周之内掌握)

# 1.lstrip() and rstrip  # 移除左边的 或 移除右边的
s2 = '***!!!nick handsome----***'
print(s2.lstrip('*'))	#结果为:!!!nick handsome----***
print(s2.rstrip('*'))	#结果为:***!!!nick handsome----

# 2.rsplit()  从右边切割
print(s2.split('*',1))	#结果为:['','**!!!nick handsome----***']
print(s2.rsplit('*',1)) #结果为;['***!!!nick handsome----**','']

# startswith & endswith  以...开始 & 以...结束
s3 = 'aaabbJ'
print(s3.startswith('b'))	#结果为:True
print(s3.endswith('J'))		#结果为:True

# join(用的比较多)  #加入;以什么间隔
s3 = '  '
print(s3.join(['234','456']))	#以s3为间隔符,拼接列表里的每一个元素  结果为:234  456

s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/红薯'

s1 = s.split('/')
print('*'.join(s1))		#结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*红薯

# replace   #取代;替换
s2 = 'yongjiu handsome'
print(s2.replace('yongjiu','gebilaowang'))  # 结果为:gebilaowang handsome

# isdigit(纯数字)/isalpha(纯字母)  # 判断是否为数字/字母
s2 = '12312'
s3 = 'nick'
print(s2.isdigit())   #True
print(s3.isdigit())   #False
print(s2.isalpha())   #False
print(s3.isalpha())   #True

## 了解(能就能,不能就不能)
# find|rfind|index|rindex|count
s2 = '****nick $ handsome****'
#之前用索引需要自己数,现在可以直接查找如下
print(s2.find('$'))    # 从左找,找到第一个停止,找不到会返回-1|	}索引都
print(s2.rfind('$'))   # 从右找,找到第一个停止,找不到会返回-1|	}是正的

print(s2.index('!'))   # 同理,但找不到会报错
print(s2.rindex('!'))  # 同理,但找不到会报错 

# 未来会学到更强大的
import re
res = re.findall('\d+',s2)	#\w+ and \d+ #找字母 或 找数字
print(res)

# center|ljust|rjust|zfill
s2 = 'nick handsome'
print(s2.center(50,'*'))	# 居中
print(s2.ljust(50,'*'))		# 居左
print(s2.rjust(50,'*'))		# 居右
print(s2.zjust(50))			# 填充0居右

# expandtabs
s2 = 'a\ta'
print(s2.expandtabs(32))    # 针对\t而言

# captalize|swapcase|title
s2 = 'harry Potter'
print(s2.captalize())	# 首字母大写,用在段落开始	 #结果为:Harry potter
print(s2.swapcase())	# 大小写互换				 #结果为:HARRY pOTTER
print(s2.title())		# 所有单词首字母大写		  #结果为:Harry Potter

#is系列(有兴趣的自己了解)

4.存一个值还是多个值

一个值

5.有序还是无序

有索引:有序

6.可变还是不可变(重点)

不可变

可变:值变id不变,不可哈希

不可变:值变id也变,可哈希

这节需要用的单词

strip 去除两端字符
lstrip 从左边去除
rstrip 从右变去除
spilt 以....切割
rspilt 从右边切割
startswith 以什么开头
endswith 以什么结束
join 加入;以什么间隔
replace 代替;替代
isdigit 判断是否为数字
isalpha 判断是否为字母
posted @   hanyingshuo  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示