欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

026 字符串类型内置方法

字符串类型内置方法(str)

1.作用:是用来描述性质的东西,如人的名字,人的某一个爱好,地址,国家等

2.定义:把一个个字符放到单引号,或双引号和三引号里面定义的

1.最基础的定义:
s = 'sdfklsdjfk'

2.定义成二进制的形式,就是在最基础的定义变量值引号前面加b
 s = b'sdkfljl' # 打印出来的bytes类型

3.\n \t \r

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

\t 缩进4个空格
s = 'a\t\ta'

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

4.常用操作+内置方法(只有字符串可以使用)

1.优先掌握

  1. 按索引取值
  2. 切片
  3. 循环
  4. 移除空白strip
  5. 切分split
  6. 成员运算in|not in
  7. 长度

1.按索引取值(只可取不可改变)

# str索引取值
msg = 'hello nick'
#      0123456789  # 索引序号

print(f'索引为6: {msg[6]}')
print(f'索引为-3: {msg[-3]}')

索引为6: n
索引为-3: i

2.切片(顾头不顾尾,步长)

# 索引切片
msg = 'hello nick'
#      0123456789  # 索引序号

print(f'切片3-最后: {msg[3:]}')
print(f'切片3-8: {msg[3:8]}')
print(f'切片3-8,步长为2: {msg[3:8:2]}')
print(f'切片3-最后,步长为2: {msg[3::2]}')

# 了解,步长为正从左到右;步长为负从右到左
print('\n**了解知识点**')
print(f'切片所有: {msg[:]}')
print(f'反转所有: {msg[::-1]}')
print(f'切片-5--2: {msg[-5:-2:1]}')
print(f'切片-2--5: {msg[-2:-5:-1]}')


切片3-最后: lo nick
切片3-8: lo ni
切片3-8,步长为2: l i
切片3-最后,步长为2: l ik
    
切片所有: hello nick
反转所有: kcin olleh
切片-5--2:  ni
切片-2--5: cin

3.循环

msg = 'hello nick'
for i in msg:
    print(i)
    
h
e
l
l
o
 
n
i
c
k

4.移除空白strip()

# str移除空白strip()

s1 = '      nick handsome         '
print(s1.strip())  # 去两端的空白
# nick handsome

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

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

# s2.strip('*-!')  # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
# print(s2)

5.切分split

# str切割split
s2 = '***!!!!!nick handsome----***'
print(s2.split())  # 默认以空格切割字符串
# ['***!!!!!nick', 'handsome----***']

print(s2.split('!'))  # 以!切割
['***', '', '', '', '', 'nick handsome----***']

print(s2.split('!', 2))
['***', '', '!!!nick handsome----***']

6.成员运算in和not in

# str成员运算
s2 = '***!!!!!nick handsome----***'

print('*' in s2)  # True
print('$' not in s2)  # True

7.长度len

# str长度
s2 = 'nick handsome'
print(len(s2))  # 求字符串的长度

2.需要掌握

  1. lstrip&rstrip

  2. rsplit

  3. lower&upper

  4. startswith&endswith

  5. join

  6. replace

  7. isdigit(纯数字)/isalpha(纯字母)

1.lstrip()和rstrip()

# str之lstrip()和rstrip()
lstrip是去掉字符串左边的指定字符
rstrip是去掉字符串右边的指定字符
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*'))
# !!!!!nick handsome----***

print(s2.rstrip('*'))
# ***!!!!!nick handsome----

2.rsplit()

s2 = '***!!!!!nick handsome----***'
print(s2.split('*', 1))# 切分,以字符串左边(默认)第一个*切分,
#['', '**!!!!!nick handsome----***']
print(s2.rsplit('*', 1))# 切分,以字符串右边第一个*切分,
#['***!!!!!nick handsome----**', '']

3.lower()和upper()

s3 = 'aaabbJ'
print(s3.lower())# 把字符串大写字母,转换成小写字母
# aaabbj

print(s3.upper())# 把字符串小写字母,转换成大写字母
# AAABBJ

4.startswith()和endswith()

s3 = 'aaabbJ'
print(s3.startswith('b'))# 判断字符串是不是以‘b’开头的
# False

print(s3.endswith('J'))# 判断字符串是不是以‘j’结尾的
True

5.join()

#  join(用的比较多)一般和split联用

s3 = ' '
print(s3.join(['234', '234', '234']))  # 以s3为间隔符,拼接列表里的每一个元素
# 234 234 234

s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'

s1 = s.split('/')
print('*'.join(s1))
# 辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸

6.replace()

# str值replace()# 把字符串原有的值,替换成新的字符

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

7.isdigit(纯数字)/isalpha(纯字母)

s2 = '12312'
print(s2.isdigit())# 判断字符串是否全是数字

s3 = 'aaac1c'
print(s3.isalpha())# 判断字符串是否全是字母

3.了解

  1. find|rfind|index|rindex|count
  2. center|ljust|rjust|zfill
  3. expandtabs
  4. captalize|swapcase|title
  5. is系列

1.find()、rfind()、index()、rindex()、count()

s2 = '**23423***ni234234ck $$ hand223423some******'
#     01234567891011
print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
# 21

print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1
# 22
print(s2.index('$'))  # 找不到报错
# 21

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

2.center()、ljust()、rjust()、zfill()

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


******************nick handsome*******************
nick handsome*************************************
*************************************nick handsome
0000000000000000000000000000000000000nick handsome

3.expandtabs()

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

4.captalize()、swapcase()、title()

s2 = 'harry Potter'

print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
# Harry potter

print(s2.swapcase())  # 大小写互换
# HARRY pOTTER

print(s2.title())  # 所有单词首字母大写
# Harry Potter

5.字符串他也是只有一个值的

6.他也是不可变的数据类型

posted @ 2019-08-05 18:57  Cecilia陈  阅读(124)  评论(0编辑  收藏  举报