美文网首页Python 基础
3.1 字符串的介绍

3.1 字符串的介绍

作者: 拖延症患者10 | 来源:发表于2023-03-01 16:13 被阅读0次

    字符串:数据使用引号进行包裹,该数据就是字符串。

    字符串的表现形式:

    1. 单引号字符串,比如‘abc’
    2. 双引号字符串,比如“abc”
    3. 三个单引号字符串,比如’’’abc’’’
    4. 三个双引号字符串,比如””"abc”””

    当字符串中的内容只有一行的时候,可以使用单引号或者双引号,当字符串中的内容有多行时,可以使用三引号字符串

    字符串的输入和输出:个人名片

    # 接收字符串数据
    name = input("请输入您的姓名:")
    age = int(input("请输入您的年龄:"))
    job = input("请输入您的工作:")
    
    print("------------------------")
    print("姓名:%s" % name)
    print("年龄:%s" % age)
    print("工作:%s" % job)
    print("------------------------")
    

    输出结果:

    示例

    3.1.1 f-string

    f-string:用来给字符串动态绑定数据,只能在Python3.6及以上版本才能使用,如果兼容之前的代码可以使用字符串的格式化输出。

    语法格式:f “姓名:{‘李四’} 年龄:{20}”
    f-strings以字母fF为前缀,格式化字符串使用一对单引号、双引号、三单引号、三双引号。

    示例一:

    name = input("请输入您的姓名:")
    age = input("请输入您的年龄:")
    msg = f"姓名:{name}  年龄:{age}"
    print(msg)
    

    输出结果:

    示例结果

    示例二:利用 f-string 实现 4 + 3 = 7。

    num1 = int(input("请输入第一个数字:"))
    num2 = int(input("请输入第二个数字:"))
    result = F'{num1} + {num2} = {num1 + num2}'
    print(result)
    

    输出结果:

    示例结果

    3.1.2 下标

    下标:又称为索引,其实就是一个号码或者数字,在python里面下标分为正数下标和负数下标。

    学习下标的目的:根据下标获取相对应的数据。

    结合下标使用的数据类型有:字符串、列表、元组、range

    下标获取指定数据的语法格式:value = 变量[下标]

    下标0表示第一个数据,下标-1表示倒数第一个数据。

    下标

    注意点:下标不能越界。越界:不能超出下标的合法范围。

     my_str = "abcdefg"
     value = my_str[1]
     print(value)     # 结果是:b
     
     value = my_str[-4]
     print(value)     # 结果是:d
     
     value = my_str[3]
     print(value)     # 结果是:d
     
     value = my_str[12]
     print(value)     # 结果报错:IndexError: string index out of range   即下标越界
     
     my_range = range(1, 10, 2)
     for value in my_range:
         print(value)     # 结果是:1、3、5、7、9
     
     result = my_range[2]
     print(result)     # 结果是:5
     
     result = my_range[-1]
     print(result)     # 结果是:9
     
     result = my_range[10]
     print(result)     # 结果报错:IndexError: range object index out of range   即下标越界
    

    3.1.3 切片

    切片:其实就是一个下标范围,根据下标范围获取容器类型(字符串、range、列表、元组)中的一部分数据。

    语法格式:变量名 [ 开始下标:结束下标:步长 ] 结束下标不包含

    目的:利用切片,完成获取字符串中的一部分操作。

    切片指定的范围不正确,系统不会崩溃,获取的数据是空的字符串。

    示例一:利用切片获取字符串的前三个数据

    my_str = "abcdef"
    
    result = my_str[0:3:1]   # 结束下标不包含 [0,2]
    print(result)     # 结果是:abc
    
    # 步长不指定默认1
    result = my_str[0:3]   # 结束下标不包含 [0,2]
    print(result)     # 结果是:abc
    
    # 简写方式
    # 步长不指定默认1,如果步长是正数,开始下标不指定表示从第一个数据开始获取
    result = my_str[:3]   # 结束下标不包含 [0,2]
    print(result)     # 结果是:abc
    

    示例二:利用切片获取字符串的后三个数

    my_str = "abcdef"
    
    result = my_str[3:6]
    print(result)     # 结果是:def
    
    # 简写方式
    # 步长不指定默认1,如果步长是正数,不指定结束下标,表示能够获取到最后一个数据
    result = my_str[3:]
    print(result)     # 结果是:def
    
    # 步长不指定默认1,如果步长是正数,不指定结束下标,表示能够获取到最后一个数据
    result = my_str[-3:]
    print(result)     # 结果是:def
    

    示例三:利用切片获取字符串中的整个数据

    my_str = "abcdef"
    
    result = my_str[0:6]
    print(result)     # 结果是:abcdef
    
    # 步长不指定默认为1,不指定结束下标,表示能够渠道最后一个数据
    result = my_str[0:]
    print(result)     # 结果是:abcdef
    
    # 简写方式  
    # 步长默认是1,不指定开始,表示从第一个数据开始获取,不指定结束下标,表示能够取到最后一个数据
    result = my_str[:]
    print(result)     # 结果是:abcdef
    

    示例四:利用切片从后向前获取字符串数据

    my_str = "abcdef"
    # 从后往前取数据,取出fed,步长为负数表示从右边往左边取值
    result = my_str[-1:-4:-1]
    print(result)     # 结果是:fed
    
    # 如果步长为负数,结束下标不指定,表示能够获取到第一个数据
    result = my_str[-1::-1]
    print(result)     # 结果是:fedcba
    
    # 字符串反转的简写方式:从倒数第一个数据一直取到正数第一个数据
    # 如果步长为负数,开始下标不指定表示从倒数第一个数据开始取值,结束下标不指定表示能够获取到正数第一个数据
    result = my_str[::-1]
    print(result)     # 结果是:fedcba
    

    示例五:切片不合法,数据取不到,程序不会崩溃

    my_str = "abcdef" 
    # 切片不合法,数据取不到,程序不会崩溃
    result = my_str[5:1:2]
    print(result)  # 结果是:空
    
    # 正确写法
    result = my_str[5:1:-2]
    print(result)  # 结果是:fd
    
    # 没有指定步长,默认1,表示从左到右获取数据
    # 步长为正数,开始下标不指定,表示从第一个数据开始获取,结束下标不包含
    result = my_str[:-1]
    print(result)  # 结果是:abcde
    

    总结:

    1. 如果步长是正数,表示从左往右依次取值。
    2. 如果步长是负数,表示从右往左依次取值。
    3. 索引是通过下标取某一个元素。
    4. 切片是通过下标去某一段元素。

    相关文章

      网友评论

        本文标题:3.1 字符串的介绍

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