一、字符串的定义

在 Python 中,字符串是由字符组成的序列,可以使用单引号 '、双引号 " 或者三引号 '''""" 来创建。

# 使用单引号创建字符串
string1 = 'Hello, World!'
# 使用双引号创建字符串
string2 = "I'm a student."
# 使用三引号创建字符串,可以跨多行
string3 = '''
这是一个
跨多行的字符串
'''
print(string1)
print(string2)
print(string3)

二、字符串的索引和切片

  1. 索引:字符串中的每个字符都有一个对应的索引,从 0 开始计数。可以通过索引获取字符串中的单个字符。
s = "python"
# 获取索引为 2 的字符,即 't'
print(s[2])  
  1. 切片:通过切片可以获取字符串的一部分。切片的语法是 [start:stop:step]start 是起始索引(包含),stop 是结束索引(不包含),step 是步长,默认是 1 。
s = "python"
# 获取从索引 1 到索引 3 (不包含 3)的子串,即 'yth'
print(s[1:3])  
# 获取从开头到索引 3 (不包含 3)的子串,即 'pyt'
print(s[:3])  
# 获取从索引 2 到末尾的子串,即 'thon'
print(s[2:])  
# 获取整个字符串,步长为 2,即 'pto'
print(s[::2])  

三、字符串的常用函数

下面是一些字符串常用函数的表格说明:

函数 功能 示例
len() 获取字符串的长度 s = "abc"; print(len(s)) 输出 3
upper() 将字符串中的所有字符转换为大写 s = "hello"; print(s.upper()) 输出 HELLO
lower() 将字符串中的所有字符转换为小写 s = "WORLD"; print(s.lower()) 输出 world
strip() 去除字符串两端的空白字符(包括空格、制表符、换行符等) s = " hello "; print(s.strip()) 输出 hello
split() 根据指定的分隔符将字符串分割成列表,默认分隔符是空格 s = "a b c"; print(s.split()) 输出 ['a', 'b', 'c']
join() 将列表中的元素以指定的字符串连接起来 lst = ['a', 'b', 'c']; s = "".join(lst); print(s) 输出 abc
find() 在字符串中查找指定子串的位置,找到返回索引,找不到返回 -1 s = "hello world"; print(s.find("world")) 输出 6
replace() 将字符串中的指定子串替换为另一个子串 s = "hello world"; print(s.replace("world", "python")) 输出 hello python

四、字符串的拼接

可以使用 + 运算符将两个字符串拼接起来,也可以使用 * 运算符重复字符串。

str1 = "Hello"
str2 = "World"
# 使用 + 拼接字符串
print(str1 + ", " + str2)  
# 使用 * 重复字符串
print("Hi" * 3)  

五、字符串的格式化

  1. 使用 % 格式化
name = "Tom"
age = 12
print("我的名字是 %s,今年 %d 岁。" % (name, age))
  1. 使用 format 方法格式化
name = "Jerry"
age = 10
print("我的名字是 {},今年 {} 岁。".format(name, age))
# 也可以指定顺序
print("我的名字是 {1},今年 {0} 岁。".format(age, name))  
  1. f - string 格式化(Python 3.6 及以上版本)
name = "Alice"
age = 15
print(f"我的名字是 {name},今年 {age} 岁。")

六、字符串的遍历

可以使用 for 循环遍历字符串中的每个字符。

s = "apple"
for char in s:
    print(char)

通过以上内容,中小学生可以对 Python 字符串有一个比较全面的认识,并且能够在实际编程中灵活运用字符串相关的知识 。

2 条评论

  • @ 2025-7-1 19:45:59

    在Python中,字符串比较大小以及排序是按照一定的规则进行的,下面为你详细介绍:

    字符串比较大小的规则

    Python中字符串比较大小是基于字符的Unicode编码值来进行的,具体过程如下:

    1. 从左到右逐个字符比较:从两个字符串的第一个字符开始比较它们对应的Unicode编码值。如果第一个字符的编码值不同,那么编码值大的字符所在的字符串就更大;如果第一个字符相同,则继续比较第二个字符,以此类推,直到找到不同的字符或者其中一个字符串结束。

    '0' < 'A' < 'a'

    例如:

    str1 = "apple"
    str2 = "banana"
    print(str1 < str2)  # 输出 True,因为 'a' 的 Unicode 编码值小于 'b' 的 Unicode 编码值
    
    1. 长度影响:如果两个字符串前面的字符都相同,那么长度更长的字符串更大。

    例如:

    str3 = "cat"
    str4 = "cats"
    print(str3 < str4)  # 输出 True,因为前三个字符都相同,而 "cats" 更长
    
    1. 中文字符同样适用:对于包含中文字符的字符串,也是依据字符的Unicode编码值来比较。

    例如:

    str5 = "你好"
    str6 = "世界"
    print(str5 < str6)  # 依据 Unicode 编码值比较,输出结果根据实际编码值而定
    

    字符串排序规则

    Python中对字符串列表进行排序,默认也是按照上述比较大小的规则进行升序排序。你可以使用内置函数sorted() 或者列表对象的sort() 方法来实现排序:

    使用sorted() 函数

    sorted() 函数会返回一个新的已排序的列表,原列表不会被修改。

    string_list = ["banana", "apple", "cherry"]
    sorted_list = sorted(string_list)
    print(sorted_list)  
    # 输出 ['apple', 'banana', 'cherry']
    

    使用列表的sort() 方法

    sort() 方法直接在原列表上进行排序,不会返回新列表。

    string_list = ["banana", "apple", "cherry"]
    string_list.sort()
    print(string_list)  
    # 输出 ['apple', 'banana', 'cherry']
    

    降序排序

    如果想要降序排序,可以通过设置reverse=True 参数来实现。

    对于sorted() 函数:

    string_list = ["banana", "apple", "cherry"]
    sorted_list_desc = sorted(string_list, reverse=True)
    print(sorted_list_desc)  
    # 输出 ['cherry', 'banana', 'apple']
    

    对于sort() 方法:

    string_list = ["banana", "apple", "cherry"]
    string_list.sort(reverse=True)
    print(string_list)  
    # 输出 ['cherry', 'banana', 'apple']
    

    自定义排序规则

    通过key 参数可以自定义排序的依据。例如,按照字符串的长度来排序:

    string_list = ["banana", "apple", "ch"]
    sorted_by_length = sorted(string_list, key=len)
    print(sorted_by_length)  
    # 输出 ['ch', 'apple', 'banana']
    

    以上就是Python中字符串比较大小和排序的规则及常见操作方法。

    • @ 2025-7-1 19:26:00

      奇妙的Python字符串之旅

      一、字符串是什么

      在Python里,字符串就像是一个装着各种字符的魔法盒子。我们可以用单引号 '、双引号 " 或者三引号 '''(也可以是 """ )来创建它。

      用单引号创建字符串

      string_single = '我喜欢吃苹果'
      print(string_single)
      

      这里单引号里的内容就是一个字符串,就像给苹果贴上了一个标签,把文字信息给“框”起来了。

      用双引号创建字符串

      string_double = "他说:'今天天气真好'"
      print(string_double)
      

      双引号的作用和单引号差不多,不过当我们字符串里要包含单引号的时候,用双引号就很方便,不然单引号会“捣乱”,让Python分不清哪里是字符串的开头和结尾啦。

      用三引号创建字符串

      string_triple = '''
      我有一个小梦想,
      长大成为科学家,
      探索宇宙的奥秘。
      '''
      print(string_triple)
      

      三引号很厉害哦,它可以让我们创建跨好多行的字符串,写一首诗、一段长长的故事都没问题~

      二、和字符串做朋友:索引与切片

      索引

      字符串里的每个字符都有自己的“小座位号”,这个座位号从0开始数。比如下面这个例子:

      word = "banana"
      print(word[0])  # 输出 b,因为索引0对应的是第一个字符
      print(word[3])  # 输出 n,索引3对应第四个字符
      

      就好像在一个排队的队伍里,第一个人编号是0,第二个人编号是1 ,依此类推,我们通过这个编号就能找到对应的字符啦。

      切片

      切片就像是用一把“魔法剪刀”,从字符串这个“长条”上剪下一部分。它的语法是 [start:stop:step]start 是开始剪的位置(包含这个位置的字符),stop 是停止剪的位置(不包含这个位置的字符),step 是每次跳过几个字符,step 不写的话默认是1。

      s = "abcdef"
      print(s[1:4])  # 输出 bcd,从索引1剪到索引4(不包含索引4的字符)
      print(s[:3])  # 输出 abc,从开头剪到索引3(不包含索引3的字符)
      print(s[2:])  # 输出 cdef,从索引2剪到末尾
      print(s[::2])  # 输出 ace,从开头到末尾,每隔一个字符取一个
      

      想象字符串是一条彩色的纸条,我们可以按照自己的想法,从不同地方剪开,得到想要的一小段纸条。

      三、字符串的超能力:常用函数

      1. 测量长度的 len() 函数

      sentence = "我爱学习Python"
      print(len(sentence))  # 输出 9,因为这个字符串里包含9个字符
      

      len() 函数就像一把尺子,能告诉我们字符串里一共有多少个字符。

      2. 变大写的 upper() 函数

      small_word = "hello"
      big_word = small_word.upper()
      print(big_word)  # 输出 HELLO,把字符串里的字母都变成大写啦
      

      upper() 函数就像一个“变大魔法”,能把字符串里所有小写字母变成大写。

      3. 变小写的 lower() 函数

      big_sentence = "I LOVE PYTHON"
      small_sentence = big_sentence.lower()
      print(small_sentence)  # 输出 i love python,把大写字母都变成小写了
      

      lower() 函数和 upper() 相反,是把大写字母变成小写的“缩小魔法”。

      4. 去除两边空白的 strip() 函数

      with_space = "   我两边有好多空格呢   "
      clean_text = with_space.strip()
      print(clean_text)  # 输出 我两边有好多空格呢,把两边的空格都去掉了
      

      有时候我们输入的字符串两边会不小心多了空格,strip() 函数就像一个清洁工,能把两边多余的空格都清理掉。

      5. 分割字符串的 split() 函数

      words = "apple banana cherry"
      word_list = words.split()
      print(word_list)  # 输出 ['apple', 'banana', 'cherry'],把字符串按空格分割成了列表
      

      split() 函数就像一把“分割刀”,能把一个字符串按照我们指定的东西(默认是空格),切成好多小块,放到一个列表里。

      6. 连接字符串的 join() 函数

      fruits = ['apple', 'banana', 'cherry']
      joined_fruits = ", ".join(fruits)
      print(joined_fruits)  # 输出 apple, banana, cherry,用逗号和空格把列表里的字符串连起来了
      

      join() 函数和 split() 相反,它就像一个“胶水”,能把列表里的字符串按照我们指定的字符(这里是逗号加空格)连接起来。

      7. 查找子串的 find() 函数

      text = "我喜欢吃草莓,草莓真好吃"
      position = text.find("草莓")
      print(position)  # 输出 4,找到“草莓”第一次出现的位置索引
      

      find() 函数就像一个小侦探,能帮我们在字符串里找到指定子串出现的位置,如果没找到就返回 -1 。

      8. 替换子串的 replace() 函数

      old_text = "我喜欢跑步,跑步很有趣"
      new_text = old_text.replace("跑步", "跳绳")
      print(new_text)  # 输出 我喜欢跳绳,跳绳很有趣,把“跑步”替换成“跳绳”了
      

      replace() 函数就像一个神奇的橡皮擦,能把字符串里指定的子串擦掉,换成我们想要的内容。

      四、字符串的拼接游戏

      + 拼接

      str1 = "你好"
      str2 = "世界"
      greeting = str1 + "," + str2 + "!"
      print(greeting)  # 输出 你好,世界!
      

      + 号就像一根魔法绳子,能把两个或多个字符串连接在一起,组成一个新的字符串。

      * 重复

      print("哈" * 3)  # 输出 哈哈哈,把“哈”这个字符串重复了3次
      

      * 号就像一个复印机,能把一个字符串按照我们指定的次数重复打印出来。

      五、让字符串更漂亮:格式化

      % 格式化

      name = "小明"
      age = 10
      print("我叫 %s,今年 %d 岁。" % (name, age))
      

      这里 %s 表示要替换成一个字符串,%d 表示要替换成一个整数,就像在一个模板里,把对应的内容填进去。

      format() 方法格式化

      city = "北京"
      population = 2100
      print("{}的人口大约有{}万。".format(city, population))
      # 还能指定顺序哦
      print("{1}的人口大约有{0}万。".format(population, city))
      

      format() 方法也是用来填充模板的,它更灵活,还能指定填充内容的顺序。

      用 f - string 格式化

      book = "哈利·波特"
      price = 50.5
      print(f"《{book}》这本书的价格是{price}元。")
      

      f - string 是Python 3.6 之后出现的,它就像在字符串里直接“嵌入”变量,写起来更简洁直观。

      六、探索字符串的每个角落:遍历

      message = "python真好玩"
      for char in message:
          print(char)
      

      通过 for 循环,我们可以一个一个地访问字符串里的每个字符,就像在一个神秘的城堡里,一个房间一个房间地去探索。

      希望通过这次有趣的旅程,大家能和Python字符串成为超级好的朋友,在编程的世界里用字符串变出更多好玩的“魔法”!

      • 1