Bootstrap

python基本数据类型 -- 字符串

字符串是 Python 中最常见的数据类型之一,它功能丰富且灵活,广泛应用于文本处理、数据解析等领域。本篇博文将全面总结 Python 字符串的知识点,帮助你掌握其核心概念与使用方法。


什么是字符串?

在 Python 中,字符串是由字符组成的不可变序列,用来表示文本数据。

  • 定义方式:用单引号 '、双引号 " 或三引号 '''/""" 包裹字符。
  • 支持多行字符串:使用三引号定义多行字符串。

示例

s1 = 'Hello' 
s2 = "World" 
s3 = '''This is a multi-line string.'''

字符串的特点

  1. 不可变性
    字符串一旦创建就无法更改。对字符串的任何修改操作都会生成新的字符串。

    s = "hello" 
    s[0] = 'H' # 会报错,因为字符串是不可变的

     

  2. 支持索引和切片
    字符串可以通过索引访问单个字符,也可以通过切片操作提取子字符串。字符串索引从左向右数从0开始012...,从右往左数是-1 -2 ....。切片时注意索引前包后不包

s = "Python" 
print(s[0]) # P 
print(s[-1]) # n 
print(s[1:4:1]) # yth # 切片完整格式 string[start:end:step],step默认为1,可省略;end索引位置是不包含的
print(s[3:]) # hon,从索引3取都最后
print(s[:]) # python取所有
print(s[::2]) # pto 隔一个取一个

 


字符串的常用操作

1. 字符串格式化、拼接与重复

2. 成员检查

  • 使用 in 检查子串是否存在:
    print("Py" in "Python") # True

3. 获取字符串长度

  • 使用 len()
    print(len("Hello")) # 5

     


字符串常用方法

1. 大小写转换

  • upper():全部转为大写。
  • lower():全部转为小写。
  • capitalize():首字母大写。
  • title():每个单词的首字母大写。
  • swapcase():大小写互换。
s = "hello World" 
print(s.upper()) # HELLO WORLD 
print(s.title()) # Hello World

2. 查找与判断

  • find(sub):返回子串的第一个索引,找不到返回 -1。
  • startswith(prefix) / endswith(suffix):检查是否以指定前缀或后缀开头/结尾。
  • count(sub):统计子串出现的次数。
s = "hello world" 
print(s.find("world")) # 6 
print(s.startswith("hello")) # True 
print(s.count("o")) # 2

3. 替换与分割

  • replace(old, new):替换子串。
  • split(sep):按分隔符分割字符串,返回列表。
  • partition(sub):分为三部分 (前部分, 匹配部分, 后部分)
  • join(iterable):用字符串连接一个可迭代对象。
s = "hello world" 
print(s.replace("world", "Python")) # "hello Python" 
print(s.split(" ")) # ['hello', 'world'] 
print("_".join(["a", "b", "c"])) # "a_b_c"

4. 去除空格

  • strip():去掉首尾空格或指定字符。
  • lstrip() / rstrip():去掉左侧或右侧空格。
s = " hello " 
print(s.strip()) # "hello" 默认去掉空格和回车
print(s.strip('lo')) # he

5. 对齐

  • center(width):居中对齐。
  • ljust(width) / rjust(width):左对齐或右对齐。
  • zfill(width):在左侧填充零。
s = "hello" 
print(s.center(10)) # " hello " 默认空格填充
print(s.center(10,'$')) # "$$hello$$$" 
print(s.zfill(8)) # "000hello" 在一些用0填充指定长度的场景下非常有用

特殊功能

1. 转义字符

字符串中可以使用转义字符处理特殊符号:

  • \n:换行。
  • \t:制表符。
  • \\:反斜杠。
  • \'\":单引号和双引号。
s = "Hello\nWorld" 
print(s)

 

2. 原始字符串

  • 在原始字符串中,转义字符不会被处理,用 rR 定义,在书写windows路径的时候非常有用:
    print('Hello\nWorld') # \n会换行
    print(r'Hello\nWorld') # \n会被打印到终端

3. 编码与解码

字符串是 Unicode,可以通过 encode() 转为字节,通过 decode() 转回字符串。

s = "你好" 
b = s.encode("utf-8") # 字符串编码为字节 
print(b) # b'\xe4\xbd\xa0\xe5\xa5\xbd' 
print(b.decode("utf-8")) # 解码为字符串

类型判断

Python 提供了一系列方法检查字符串的内容类型:

  • isalpha():是否全是字母。
  • isdigit():是否全是数字。
  • isalnum():是否全是字母或数字。
  • isspace():是否全是空白字符。
s = "Hello123" 
print(s.isalnum()) # True 
print("123".isdigit()) # True

总结

Python 的字符串功能强大且灵活,以下是关键点:

  1. 不可变性:字符串一旦创建,无法修改。
  2. 支持索引和切片:方便访问和提取子字符串。
  3. 丰富的方法:包括大小写转换、替换、查找、分割等。
  4. 格式化字符串:推荐使用 f-string。
  5. 支持多种编码:处理国际化文本时尤为重要。

 

;