- Python
python 字符串
- 2025-7-1 19:17:40 @
一、字符串的定义
在 Python 中,字符串是由字符组成的序列,可以使用单引号 '
、双引号 "
或者三引号 '''
或 """
来创建。
# 使用单引号创建字符串
string1 = 'Hello, World!'
# 使用双引号创建字符串
string2 = "I'm a student."
# 使用三引号创建字符串,可以跨多行
string3 = '''
这是一个
跨多行的字符串
'''
print(string1)
print(string2)
print(string3)
二、字符串的索引和切片
- 索引:字符串中的每个字符都有一个对应的索引,从 0 开始计数。可以通过索引获取字符串中的单个字符。
s = "python"
# 获取索引为 2 的字符,即 't'
print(s[2])
- 切片:通过切片可以获取字符串的一部分。切片的语法是
[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)
五、字符串的格式化
- 使用 % 格式化:
name = "Tom"
age = 12
print("我的名字是 %s,今年 %d 岁。" % (name, age))
- 使用 format 方法格式化:
name = "Jerry"
age = 10
print("我的名字是 {},今年 {} 岁。".format(name, age))
# 也可以指定顺序
print("我的名字是 {1},今年 {0} 岁。".format(age, name))
- f - string 格式化(Python 3.6 及以上版本):
name = "Alice"
age = 15
print(f"我的名字是 {name},今年 {age} 岁。")
六、字符串的遍历
可以使用 for
循环遍历字符串中的每个字符。
s = "apple"
for char in s:
print(char)
通过以上内容,中小学生可以对 Python 字符串有一个比较全面的认识,并且能够在实际编程中灵活运用字符串相关的知识 。
2 条评论
-
admin SU @ 2025-7-1 19:45:59已修改
在Python中,字符串比较大小以及排序是按照一定的规则进行的,下面为你详细介绍:
字符串比较大小的规则
Python中字符串比较大小是基于字符的Unicode编码值来进行的,具体过程如下:
- 从左到右逐个字符比较:从两个字符串的第一个字符开始比较它们对应的Unicode编码值。如果第一个字符的编码值不同,那么编码值大的字符所在的字符串就更大;如果第一个字符相同,则继续比较第二个字符,以此类推,直到找到不同的字符或者其中一个字符串结束。
'0' < 'A' < 'a'
例如:
str1 = "apple" str2 = "banana" print(str1 < str2) # 输出 True,因为 'a' 的 Unicode 编码值小于 'b' 的 Unicode 编码值
- 长度影响:如果两个字符串前面的字符都相同,那么长度更长的字符串更大。
例如:
str3 = "cat" str4 = "cats" print(str3 < str4) # 输出 True,因为前三个字符都相同,而 "cats" 更长
- 中文字符同样适用:对于包含中文字符的字符串,也是依据字符的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