字符串类型内置方法

字符串类型

1. 作用

姓名/性别/

2. 定义方式

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


#\n 换行
s = 'a\na'   #碰到斜杠了,计算机求清楚下一个字符和\拼接在一起会有特殊的意义
#结果:a
      a

#\t  缩进4个空格
s = 'a\ta'
print=(s)
结果:a    a


#\r 回退上一个打印结果,覆盖上一个打印结果
#print('\\ra',end='')   #加上一个\让后面的\变得无意义
#print('\\ra',end='')
结果(双斜杠):\ra\ra
结果(单斜杠): a

s = 'a\\na'
print(s)
结果:a\na

s = r'\ra\t\na'   #raw  #r会让后面带斜杠的全部失效,全部变成普通字符
print(s)
结果:\ra\t\na
                   

3.字符串内置方法(只有字符串类型才能使用)

优先掌握(今天必须得掌握)

s = 'nick handsome'

#1.索引取值
print(s[1])

#2.切片
print(s[4:0:1])   #1表示从左到右

print(s[-4::-1])    #-1表示从右到左  #不推荐掌握

print(s[4:0:-1])   #-1表示从右到左

#3.for循环
for i in s:
    print(i)
    
#4. strip()
s1='     nick handsome    '
print(s1.strip())  #去两端的空白

s2 = '***!!!nick handsome____***'
print(s2.strip('*!_ '))   #指定多个字符一起去掉,只要strip里面有的字符就全部干掉

#首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!_,再从strip里面找,有去掉,,没有停止去掉。

#5.split()   切割
print('*'*50)
s2 = '***!!!!!nick handsome----***'
print(s2.split())   #默认以空格切割字符串
print(s2.split('!'))   #以!切割   sep切割符的意思
print(s2.split('!',2))   #maxsplit最大切割 2表示最大切割次数

#6. in or 或 not in
print('*' in s2)  #True
print('$' not in s2)   #True
print('$' in s2)    #False


#7. 长度len
 s2 = '***!!!!!nick handsome----***'    #28
 print(len(s2))    #求字符串的长度

需要掌握(一周之内掌握)

#1. lsltrip() 和 rstrip()
 s2 = '***!!!!!nick handsome----***'
 print(s2.lstrip('*'))
 print(s2.rstrip('*'))
 
#2.rsplit()
print(s2.split('*'1))
print(s2.rsplit('*',1))

#3. lower&upper
s3 = 'aaabbJ'
print(s3.lower())  #全变小写
print(s3.upper())  #全变大写


#4.startswith&endswith
s3 = 'aaabbJ'
print(s3.startswith('b'))
print(s3.endswith('J'))


#5.join(用的比较多)一般和split联用    #iterable可迭代对象
s3 = 'aaabbJ'
print(s3.join(['234','234','234']))  #234aaabbJ234aaabbJ234 
                         #以s3为间隔符,拼接列表里的每一个元素
应用:s='辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/')
print(''.join(s1))   #辣条 薯片 汽水 泡面 火腿肠 枸杞 当归 鹿茸


#6.replace(取代的意思)

s2 = 'yongjiu handsome'

print(s2.replace('yongjiu','gebilaowang'))  #gebilaowang handsome


#7.isdigit
s2 = 'aaccc'
print(s2.isdigit())#False #isdigit(纯数字)检测数字/isalpha(纯字母)检测字母
pritn(s2.isdigit())    #True



了解(能就能,不能就不能)

#find|rfind|index|rindex|count
s2 = '*****nick $ handsome******'
#     012345678910
print(s2.find('$'))  #从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$')) #从右找,找到就停止,找不到返回-1

print(s2.index('!'))   #找不到报错
print(s2.rindex('$'))  #找不到报错



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



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



#captalize|swapcase|title(只针对英文)
s2 = 'harry Potter'

print(s2.capitalize())   #首字母大写,用在段落开始
print(s2.swapcase())    #大小写互换
print(s2.title())      #所有单词首字母大写   #根据空格来区分



#is系列

4. 存一个值还是多个值

一个值

5. 有序or无序(通过有无索引判断)

有序

6. 可变or不可变(重点)

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

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

s2 = 'abc'
print(id(s2))
s2+='abc'
print(id(s2))     id变,不可变
posted @ 2023-09-06 19:31  陈hao  阅读(31)  评论(0)    收藏  举报