• python 之 字符串的相关知识


    在这里插入图片描述

    当涉及 Python 中的字符串时,有许多重要的概念和功能。字符串在 Python 中是不可变的序列,它们用于表示文本数据。以下是关于 Python 字符串的一些重要内容:

    字符串的创建

    在 Python 中,您可以使用单引号(' ')、双引号(" ")或三重引号(''' '''""" """)来创建字符串。

    my_string = 'Hello, World!'
    my_string_double_quotes = "Hello, World!"
    my_multiline_string = '''This is a 
    multi-line
    string.'''
    
    • 1
    • 2
    • 3
    • 4
    • 5

    基本操作

    • 访问字符: 您可以使用索引访问字符串中的单个字符。

      print(my_string[0])  # 输出 'H'
      
      • 1
    • 切片操作: 可以通过切片访问字符串的子集。

      print(my_string[7:12])  # 输出 'World'
      
      • 1
    • 拼接: 使用加号 + 连接两个字符串。

      new_string = my_string + ' Welcome!'
      print(new_string)  # 输出 'Hello, World! Welcome!'
      
      • 1
      • 2
    • 重复: 使用乘号 * 复制字符串。

      repeated_string = my_string * 3
      print(repeated_string)  # 输出 'Hello, World!Hello, World!Hello, World!'
      
      • 1
      • 2

    字符串方法

    Python 提供了许多内置方法来处理字符串:

    • len(): 返回字符串长度。
    • lower(), upper(): 转换字符串为小写或大写。
    • strip(), lstrip(), rstrip(): 删除字符串开头、结尾或两端的空白字符。
    • split(): 将字符串拆分为子字符串,返回列表。
    • join(): 将列表中的字符串连接为一个字符串。
    • find(), index(): 查找子字符串在字符串中的索引。
    • replace(): 替换字符串中的子字符串。
    example = "   Hello, World!   "
    print(len(example))  # 输出 18
    print(example.lower())  # 输出 '   hello, world!   '
    print(example.strip())  # 输出 'Hello, World!'
    print(example.split())  # 输出 ['Hello,', 'World!']
    
    • 1
    • 2
    • 3
    • 4
    • 5

    格式化字符串

    • f-strings: 在字符串前添加 fF 可以在字符串中插入变量。
      name = "Alice"
      age = 30
      print(f"My name is {name} and I'm {age} years old.")
      
      • 1
      • 2
      • 3

    字符串不可变性

    字符串是不可变的,意味着一旦创建,就无法更改其内容。如果需要更改字符串,您实际上是创建了一个新的字符串。

    my_string = "Hello"
    my_string[0] = 'J'  # 这会引发错误,因为字符串不可更改
    
    • 1
    • 2

    编码和解码

    Python 使用 Unicode 来表示字符串,可以使用 encode() 方法将字符串编码为字节对象,以及使用 decode() 方法将字节对象解码为字符串。

    utf_string = "Hello, 你好"
    encoded_string = utf_string.encode('utf-8')
    decoded_string = encoded_string.decode('utf-8')
    print(encoded_string)  # 输出字节对象
    print(decoded_string)  # 输出 'Hello, 你好'
    
    • 1
    • 2
    • 3
    • 4
    • 5

    字符串在 Python 中是一个重要且灵活的数据类型,其方法和功能让您能够处理和操作文本数据。

    字符串方法详细介绍

    在 Python 中,字符串是不可变对象,但有许多内置方法可以对字符串进行操作和处理。这些方法允许您执行各种任务,例如搜索子字符串、转换大小写、分割字符串等。以下是一些常用的字符串方法:

    字符串方法列表

    1. len()
    • 返回字符串的长度。
    2. 大小写转换方法
    • upper(): 将字符串转换为大写。
    • lower(): 将字符串转换为小写。
    • capitalize(): 将字符串首字母大写。
    my_string = "hello, World!"
    print(my_string.upper())  # 输出 'HELLO, WORLD!'
    print(my_string.lower())  # 输出 'hello, world!'
    print(my_string.capitalize())  # 输出 'Hello, world!'
    
    • 1
    • 2
    • 3
    • 4
    3. 删除空白字符的方法
    • strip(): 删除字符串两端的空白字符。
    • lstrip(): 删除字符串开头的空白字符。
    • rstrip(): 删除字符串末尾的空白字符。
    example = "   Hello, World!   "
    print(example.strip())  # 输出 'Hello, World!'
    print(example.lstrip())  # 输出 'Hello, World!   '
    print(example.rstrip())  # 输出 '   Hello, World!'
    
    • 1
    • 2
    • 3
    • 4
    4. 查找子字符串的方法
    • find(): 返回子字符串第一次出现的索引位置,若未找到返回 -1。
    • index(): 返回子字符串第一次出现的索引位置,若未找到会引发异常。
    my_string = "Hello, World!"
    print(my_string.find('o'))  # 输出 4
    print(my_string.find('x'))  # 输出 -1
    print(my_string.index('W'))  # 输出 7
    # print(my_string.index('X'))  # 这会引发异常,因为未找到子字符串
    
    • 1
    • 2
    • 3
    • 4
    • 5
    5. 替换子字符串的方法
    • replace(): 用新字符串替换原字符串中的特定子字符串。
    my_string = "Hello, World!"
    new_string = my_string.replace('World', 'Python')
    print(new_string)  # 输出 'Hello, Python!'
    
    • 1
    • 2
    • 3
    6. 分割和连接字符串的方法
    • split(): 将字符串拆分为子字符串,并返回一个字符串列表。
    • join(): 将列表中的字符串连接为一个字符串。
    my_string = "Hello, World!"
    splitted = my_string.split(',')  # 以逗号为分隔符拆分字符串
    print(splitted)  # 输出 ['Hello', ' World!']
    new_string = ' '.join(splitted)  # 使用空格连接列表中的字符串
    print(new_string)  # 输出 'Hello World!'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    7. 校验字符串内容的方法
    • isalpha(): 检查字符串是否只包含字母。
    • isdigit(): 检查字符串是否只包含数字。
    • isalnum(): 检查字符串是否只包含字母和数字。
    alpha_string = "OnlyLetters"
    numeric_string = "12345"
    alphanumeric_string = "LettersAnd123"
    print(alpha_string.isalpha())  # 输出 True
    print(numeric_string.isdigit())  # 输出 True
    print(alphanumeric_string.isalnum())  # 输出 True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这些方法只是 Python 字符串方法的一部分。它们允许您执行各种操作来处理和操作字符串数据。

    格式化详细介绍

    当涉及字符串格式化时,Python提供了多种方法来创建格式化的字符串。其中包括旧式格式化方法(% 格式化符号)和更为现代和推荐的方法(str.format() 方法以及 f-strings)。下面是每种方法的详细说明以及相应的代码示例和注释:

    1. 旧式格式化方法 % 操作符

    这种方法使用 % 格式化符号在字符串中指示变量的插入位置,然后在右侧提供变量的值。它是较老的方式,但仍然有效。

    name = "Alice"
    age = 30
    
    # 使用 %s 表示字符串,%d 表示整数
    formatted_string = "My name is %s and I'm %d years old." % (name, age)
    print(formatted_string)  # 输出 'My name is Alice and I'm 30 years old.'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • %s 表示字符串格式。
    • %d 表示整数格式。

    2. str.format() 方法

    str.format() 方法是一种更灵活的字符串格式化方式,使用 {} 占位符指示变量的插入位置,然后使用 format() 方法将变量的值传递给字符串。

    name = "Bob"
    age = 25
    
    # 使用 {} 作为占位符
    formatted_string = "My name is {} and I'm {} years old.".format(name, age)
    print(formatted_string)  # 输出 'My name is Bob and I'm 25 years old.'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    str.format() 方法还支持位置参数和关键字参数,可以更加灵活地控制插入的顺序:

    name = "Charlie"
    age = 35
    
    # 位置参数
    formatted_string = "My name is {0} and I'm {1} years old.".format(name, age)
    print(formatted_string)  # 输出 'My name is Charlie and I'm 35 years old.'
    
    # 关键字参数
    formatted_string = "My name is {name} and I'm {age} years old.".format(name="Dave", age=40)
    print(formatted_string)  # 输出 'My name is Dave and I'm 40 years old.'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3. f-strings (格式化字符串字面值)

    f-strings 是自 Python 3.6 开始引入的新方式,它允许在字符串前添加 fF 并在其中插入变量和表达式。

    name = "Eve"
    age = 20
    
    # 在字符串前添加 f 来表示这是一个 f-string
    formatted_string = f"My name is {name} and I'm {age} years old."
    print(formatted_string)  # 输出 'My name is Eve and I'm 20 years old.'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    f-strings 也支持内联表达式和函数调用:

    a = 10
    b = 15
    
    # 在 f-string 中进行数学运算
    formatted_string = f"The sum of a and b is {a + b}"
    print(formatted_string)  # 输出 'The sum of a and b is 25'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这三种格式化字符串的方法在 Python 中都是有效的,选择其中一种通常取决于个人偏好和代码的特定情况。

  • 相关阅读:
    AHB- hreadyin 与 hreadyout
    编制项目预算的方法和步骤
    inline的讨论——标准库的模板变量
    VRTK4⭐一.VRTK4和VRTK的区别 , 及VRTK4简介
    verilog实现AM调制及仿真验证
    从零开发短视频电商 Spring事务嵌套问题
    ubuntu driver简要及报错解决
    策略模式与模板方法结合案例
    C语言 Cortex-A7核 SPI 实验
    Nginx 网站服务
  • 原文地址:https://blog.csdn.net/weixin_74850661/article/details/134280140