美文网首页
05-字符串

05-字符串

作者: 飘摇的水草 | 来源:发表于2023-04-01 17:03 被阅读0次

字符串

Python中的字符串可以是单引号、双引号、或者三个双引号、三个单引号,如果字符串里包含单引号,则最外层用双引号包含即可,如果内部有单引号或者双引号,则最外层用三个双引号即可。

name = 'hu'
name = "lin"

name = """hu
lin
"""
name = '''hu
lin
'''

乘积

Python中的字符串可以乘以一个整数,表示这个字符串拼接几次,如下所示:

字符串乘积.png

下标

下标也称为索引,可以是正数下标,也可以是负数下标,正数下标从0开始,表示第一个字符,-1表示最后一个下标,通过 len(str) 函数得到字符串的长度

下标.png

切片

切片可以获取一段数据,而下标只能获取一个数据

  • 切片语法:变量[start:end:step]。
  • start 表示开始位置的下标
  • end 表示结束位置的下标,但不包含结束位置的下标
  • step 步长,下标之间的间隔,默认为1
  • 如果省略 end ,则表示直接到结尾,如果省略 start,则表示从0开始,但无论哪种,冒号均不能省略
my_str = "Hello"

print (my_str[2:4])
print (my_str[2:])
print (my_str[:])
print (my_str[-4:-1])
print (my_str[::-1]) #这种属于字符串反转
字符串查找

find()

在字符串中查找 是否存在某个字符串

  • str.find (sub_str, start, end)
  • sub_str 要在查找的内容,类型str
  • start 开始位置,从哪里开始查找,默认是0
  • end 结束位置,查找到哪里结束,默认是len()
  • 如果找到返回的是子串在字符串中的位置,没有找到返回-1,其中后面两个参数可以省略
  • 这几个参数也同样适用于 rfind()index()rindex()
my_str = "Hello"
print(my_str.find("Hell"))

rfind()

从右边开始查找

index()

find () 的区别在于 index() 如果没有找到会报错

rindex()

从右边开始查找

字符串统计

count()

统计字符串出现的次数

  • str.count (sub_str, start, end)
my_str = "Hello Hello"
print (my_str.count("Hello"))
字符串替换

replace()

  • my_str.replace(old_str, new_str, count) 字符串替换
  • old_str 将要被替换的字符串
  • new_str 新的字符串
  • count 替换的次数,默认是全部替换
  • 返回值:得到一个新的字符串,不会改变原来的字符串
字符串切割

split()

  • my_str.split(sub_str, count) 将 my_str 字符串按照 sub_str 进行切割
  • sub_str :按照什么内容切割字符串,默认是空白字符,空格,tab键
  • count:切割几次,默认是全部切割
  • 返回值:列表[]

rsplit()

  • 从右边开始切割
字符串连接

join()

  • my_str.join(可迭代对象),可迭代对象既可以是字符串,也可以是列表、元组
  • 将my_str 这个字符串添加到可迭代对象的两个元素之间
  • 返回值:一个新的字符串,不会改变原来字符串的值
print ("_".join("Hello")) 返回值是"H_e_l_l_o"
编码和解码

编码方法:encode()

str1 = "abcde"
print (str1.encode())   # 此时会输出:b`\xe6\x88`

解码方法:decode()

str2 = b`\xe6\x88`
print(str2.decode())   #此时将输出abcde

encode() 方法和 decode() 方法的小括号里填编码格式,常见的有 utf-8gbk

ASCII码的转换
  • chr() 将对应的 ASCII 的值转换为对应的字符
print(chr(97))   # a
  • ord() 获取字符对应的 ASCII 的值
print(ord("a"))  #输出97
其他方法

capitalize()

  • 字符串首字母大写

title()

  • 所有单词的首字母大写

upper()

  • 所有字母大写

isupper()

  • 检测是否所有字母大写

lower()

  • 所有字母小写

islower()

  • 检测所有字母是否是小写
my_str = "Hello Hello"
print (my_str.capitalize())  # Hello hello
print (my_str.title()) # Hello Hello
print (my_str.upper())  # HELLO HELLO
print (my_str.isupper())  # False

startswith()

  • 检测是否以某个字符开始,返回布尔值

endswith()

  • 检测是否以某个字符结束,返回布尔值

center(int)

  • 使字符串一共占用 int 个字符,并且居中对齐

ljust(int)

  • 使字符串一共占用 int 个字符,并且左对齐

rjust(int)

  • 使字符串一共占用 int 个字符,并且右对齐

lstrip()

  • 去除字符串左边的空格

rstrip()

  • 去除字符串右边的空格

strip()

  • 去除字符串两边的空格
print ("    Hello    ".lstrip())
print ("    Hello    ".rstrip())
print ("    Hello    ".strip())

isDight()

  • 是否是纯数字组成

swapcase

  • 如果是大写则转换成小写,是小写则转换成大写

isalpha

  • 是否是纯字母和汉字组成

相关文章

网友评论

      本文标题:05-字符串

      本文链接:https://www.haomeiwen.com/subject/bkbhddtx.html