美文网首页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