• Python字符串介绍详解


    Python字符串介绍

    字符串是一系列字符。在 Python 中,引号内的任何内容都是字符串。您可以使用单引号或双引号。例如:

    message = 'This is a string in Python'
    message = "This is also a string"
    
    • 1
    • 2

    如果一个字符串包含一个单引号,你应该把它放在双引号里,像这样:

    message = "It's a string"
    
    • 1

    当字符串包含双引号时,您可以使用单引号:

    message = '"Beautiful is better than ugly.". Said Tim Peters'
    
    • 1

    转义引号,请使用反斜杠 ( \)。例如:

    message = 'It\'s also a valid string'
    
    • 1

    Python 解释器将特殊对待反斜杠字符 ()。如果您不希望它这样做,您可以通过r在第一个引号前添加字母来使用原始字符串。例如:

    message = r'C:\python\bin'
    
    • 1

    创建多行字符串

    要跨越多行字符串,您可以使用三引号“””…”””或“‘…”’。例如:

    help_message = '''
    Usage: mysql command
        -h hostname     
        -d database name
        -u username
        -p password 
    '''
    
    print(help_message)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    如果你执行程序,它会输出以下内容:

    Usage: mysql command
        -h hostname
        -d database name
        -u username
        -p password
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在带有 f 字符串的 Python 字符串中使用变量

    有时,您想在字符串中使用变量的值。

    例如,您可能希望name在message字符串变量中使用变量的值:

    name = 'jianguo'
    message = 'Hi'
    
    • 1
    • 2

    为此,您将字母f放在左引号之前,并将大括号放在变量名称周围:

    name = 'jianguo'
    message = f'Hi {name}'
    print(message)
    
    • 1
    • 2
    • 3

    Python 将用变量{name}的值替换name。该代码将在屏幕上显示以下内容:

    Hi jianguo
    
    • 1

    message是一个格式字符串,简称为 f-string。Python 在 3.6 版本中引入了 f-string。

    连接 Python 字符串

    当您将字符串文字并排放置时,Python 会自动将它们连接成一个字符串。例如:

    greeting = 'Good ' 'Morning!'
    print(greeting)
    
    • 1
    • 2

    输出:

    Good Morning!
    
    • 1

    要连接两个字符串变量,您可以使用运算符+:

    greeting = 'Good '
    time = 'Afternoon'
    
    greeting = greeting + time + '!'
    print(greeting)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输出:

    Good Afternoon!
    
    • 1

    访问字符串元素

    由于字符串是字符序列,您可以使用索引访问其元素。字符串中的第一个字符的索引为零。

    以下示例显示如何使用索引访问元素:

    str = "Python String"
    print(str[0]) # P
    print(str[1]) # y
    
    • 1
    • 2
    • 3

    这个怎么运作:

    • 首先,创建一个包含字符串的变量"Python String"
    • []然后,使用方括号和索引访问字符串的第一个和第二个字符。

    如果使用负数索引,Python 会返回从字符串末尾开始的字符。例如:

    str = "Python String"
    print(str[-1])  # g
    print(str[-2])  # n
    
    • 1
    • 2
    • 3

    下面说明了字符串的索引"Python String"

    +---+---+---+---+---+---+---+---+---+---+---+---+---+
    | P | y | t | h | o | n |   | S | t | r | i | n | g | 
    +---+---+---+---+---+---+---+---+---+---+---+---+---+
      0   1   2   3   4   5   6   7   8   9   10  11  12
    -13  -12  -11  -10 -9  -8  -7  -6  -5  -4  -3  -2  -1 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    获取字符串的长度

    要获取字符串的长度,可以使用该len()函数。例如:

    str = "Python String"
    str_len = len(str)
    print(str_len)
    
    • 1
    • 2
    • 3

    输出:

    13
    
    • 1

    切片字符串

    切片允许您从字符串中获取子字符串。例如:

    str = "Python String"
    print(str[0:2])
    
    • 1
    • 2

    输出:

    Py
    
    • 1

    str[0:2]返回一个子字符串,其中包含从索引 0(包括)到 2(排除)的字符。

    切片的语法如下:

    string[start:end]
    
    • 1

    子字符串始终包含位于的字符start并排除位于的字符串end

    startend是可选的。如果省略start,则默认为零。如果省略end,则默认为字符串的长度。

    Python 字符串是不可变的

    Python 字符串是不可变的。这意味着您不能更改字符串。例如,如果您更新字符串中的一个或多个字符,您将收到错误消息:

    str = "Python String"
    str[0] = 'J'
    
    • 1
    • 2

    错误:

    Traceback (most recent call last):
      File "app.py", line 2, in 
        str[0] = 'J'
    TypeError: 'str' object does not support item assignment
    
    • 1
    • 2
    • 3
    • 4

    当要修改一个字符串时,您需要从现有字符串创建一个新字符串。例如:

    str = "Python String"
    new_str = 'J' + str[1:]
    print(new_str)
    
    • 1
    • 2
    • 3

    输出:

    Jython String
    
    • 1

    概括

    • 在 Python 中,字符串是一系列字符。此外,Python 字符串是不可变的。
    • 使用引号(单引号或双引号)来创建字符串文字。
    • 使用反斜杠字符\转义字符串中的引号
    • 使用原始字符串r'...'转义反斜杠字符。
    • 使用 f-strings 在文字字符串中插入替代变量。
    • 将文字字符串并排放置以将它们连接起来。并使用 + 运算符连接字符串变量。
    • 使用该len()函数获取字符串的大小。
    • 使用str[n]访问字符串中位置 n 处的字符str
    • 使用切片从字符串中提取子字符串。
  • 相关阅读:
    拥有自己的服务器是一件很不错的事情
    75-Java的List系列集合、集合的并发修改异常问题
    清华智能体宇宙火了;主流大语言模型的技术原理细节
    Matlab坐标轴标签中文设置宋体
    卡奥斯第二届1024程序员节正式启动!
    微信小程序
    代码随想录算法训练营15期 Day 3 | 203.移除链表元素 、707.设计链表 、206.反转链表
    OSPF——DR和BDR讲解
    编码踩坑——多线程可能带来意想不到的OOM
    2023年中国乳胶制品产量、需求量及市场规模分析[图]
  • 原文地址:https://blog.csdn.net/qq_39132095/article/details/128046414