文本¶
注解
文本分类下的模块主要包含文本输出、文本处理和字符串内容检索等功能。具体包括:文本连接、文本转换、获取长度、格式化字符串等。
所有文本内容都可通过串口打印或外接显示屏输出。
1.字符串¶
1.1 描述¶
Mixly中包含单行文本和多行文本。 单行文本内容可以是一个字符、单词也可以是一行文本。 多行文本内容会保留输入的换行。
1.2 示例¶
Python中的单行文本由双引号或者单引号包围,多行文本由连续使用的三个单引号包围。
1 2 3 "Mixly" '''Hello Mixly'''
2.字符串连接¶
2.1 描述¶
字符串连接模块可以连接单行文本和多行文本,也可以嵌套使用。此模块在连接的文本之间不会添加任何分隔符号。
2.2 示例¶
你也可以在单行文本或者多行文本中使用转义字符 “\n” 来进行换行。
源代码:
1 2 3 4 5 6 7 8 9 print("Hello" + "Mixly\n") print("Hello\n" + "Mixly\n") print("Hello" + "Mixly" + "Love" + "Mixly\n") print("Hello" + '''Mixly 1.0\n''') print('''Hello World''' + "Mixly\n") print('''Hello World\n''' + "Mixly\n")输出结果:
HelloMixly Hello Mixly HelloMixlyLoveMixly HelloMixly 1.0 Hello WorldMixly Hello World Mixly
3.字符串转换¶
3.1 字符串转换为其他类型¶
3.1.2 示例¶
源代码:
1 2 3 4 5 6 7 8 a = "123" b = "1.23" c = "Mixly" print(int(a)) print(float(b)) print(a.encode("utf-8")) print(b.encode("utf-8")) print(c.encode("utf-8"))输出结果:
123 1.23 b'123' b'1.23' b'Mixly'
3.2 数字转换为字符串¶
3.2.1 描述¶
此模块可以将数字转换为字符串。
3.2.2 示例¶
源代码:
1 2 3 4 5 a = 123 b = 1.23 print(str(a)) print(str(b)) print(str(100))输出结果:
123 1.23 100
4.获取字符串长度¶
4.1 描述¶
此模块可以返回一个字符串的长度或者列表、元组、集合的元素数量。对于字符串,一个英文字母、一个符号(比如空格)、一个汉字长度均为1。
4.2 返回值¶
此模块返回的长度为int类型的数据格式。
4.3 示例¶
源代码:
1 2 3 4 5 6 print(len("Mixly")) print(len("北京师范大学米思齐团队")) print(len("I Love Mixly!")) print(len([1,2,3])) print(len((1,2,3,4))) print(len({1,2,3,4,5}))输出结果:
5 11 13 3 4 5
5.字符串判断¶
5.1 描述¶
此模块可以判断前后两个字符串是否相等,也可以判断某字符串是否以某字符或字符串开始或结尾。若相等或以指定字符串开始或结尾,则返回True,否则返回False。
注意
- 此模块的判断都是严格区分大小写的。
- 可以判断某字符串是否以另一字符串开始或结尾。
5.2 示例¶
源代码:
1 2 3 4 5 6 print("Mixly" == "Mixly") print("Mixly" == "mixly") print("米思齐" == "米思皮") print("Mixly".startswith("m")) print("Mixly".endswith("y")) print("Mixly".endswith("ly"))输出结果:
True False False False True True
6.字符串截取¶
6.1 根据索引截取字符¶
6.1.1 描述¶
此模块可以在字符串中根据索引返回对应的字符。
注意
- 点击了解 附录:字符串索引方向。
- 在字符串中截取字符,索引的范围为字符串长度的相反数到字符串的长度减1,如五个字符的字符串索引范围为[-5, 4],超出此范围的索引会报错。
6.1.2 示例¶
源代码:
1 2 3 4 5 6 print("Mixly"[0]) print("Mixly"[2]) print("Mixly"[4]) print("Mixly"[(-5)]) print("Mixly"[(-3)]) print("Mixly"[(-1)])输出结果:
M x y M x y
6.2 根据索引范围截取字符串¶
6.2.1 描述¶
此模块可以在字符串中根据索引返回对应的字符串。
注意
- 所截取出的字符串中,包含前一个索引对应的字符,但不包含后一个索引对应的字符。
- 点击了解 附录:字符串索引方向。
- 在字符串中截取字符串,索引的范围为字符串长度的相反数到字符串的长度(因为不包含后一索引对应的字符,所以不用减1),如五个字符的字符串索引范围为[-5, 5],超出此范围的索引会报错。
6.2.2 示例¶
源代码:
1 2 3 str = "北京师范大学米思齐团队" print(str[0 : 6]) #截取第一个到第六个字符 print(str[-5 : -1]) #截取倒数第五个到倒数第二个字符输出结果:
北京师范大学 米思齐团
7.字符串编/解码¶
7.2 示例¶
源代码:
1 2 3 4 5 6 print("Mixly".encode("ASCII")) print("Mixly".encode("ASCII").decode("ASCII")) print("米思齐".encode("utf-8")) print("米思齐".encode("utf-8").decode("utf-8")) print("米思齐".encode("gbk")) print("米思齐".encode("gbk").decode("gbk"))输出结果:
b'Mixly' Mixly b'\xe7\xb1\xb3\xe6\x80\x9d\xe9\xbd\x90' 米思齐 b'\xc3\xd7\xcb\xbc\xc6\xeb' 米思齐
8.字符串内容转换¶
8.1 描述¶
此模块可以对指定字符串进行指定类型的转换。转换类型包括将各单词首字母转换为大写,将句子首字母转换为大写,将字符串中所有字母的大小写对调,以及将所有字母转换为小写字母。
注意
- 将各单词首字母转换为大写功能需要各个单词间有分隔符(空格,逗号均可),若没有分隔符则视为同一个单词。
- 将句子首字母转换为大写实际上是将整个字符串第一个字母转换为大写,后面的句子并不会转换。
8.2 示例¶
源代码:
1 2 3 4 print("hello mixly!".title()) print("hello mixly! i love mixly!".capitalize()) print("hello mixly!".title().swapcase()) print("hello mixly!".title().swapcase().lower())输出结果:
Hello Mixly! Hello mixly! i love mixly! hELLO mIXLY! hello mixly!
9.字符串填充对齐¶
9.2 示例¶
源代码:
1 2 3 4 5 6 print("Hello,mixly".ljust(50,"*")) print("I love mixly!".center(50,"*")) print("Happy mixly!".rjust(50,"*")) print("Hello,mixly".ljust(50," ")) print("I love mixly!".center(50," ")) print("Happy mixly!".rjust(50," "))输出结果:
Hello,mixly*************************************** ******************I love mixly!******************* **************************************Happy mixly! Hello,mixly I love mixly! Happy mixly!
10.字符串搜索¶
10.1 描述¶
此模块可以检查字符串中是否包含指定字符或者字符串,如果包含则返回字符或字符串首字符的索引值,否则返回-1。
注意
- 如果有多个检索结果,则返回第一个检索结果的索引。
- 字符串各个字符的索引从0开始,也就是说第一个字符的索引为0,第九个字符的索引为8,以此类推。
- 可以在字符串中检索字符和字符串。
- 检索时是严格匹配大小写的。
10.2 示例¶
源代码:
1 2 3 4 print("Hello,mixly".find("l")) print("Hello,mixly".find("ll")) print("Hello,mixly".find("mix")) print("Hello,mixly".find("h"))输出结果:
2 2 6 -1
11.序列连接成字符串¶
11.1 描述¶
此模块可以使用指定的连接字符或字符串将序列(列表、元组、集合等)的各个元素连接起来形成并返回一个字符串。
注意
- 需要连接的序列(列表、元组、集合等)的每一个元素必须是字符串的数据类型。
- 集合({})是无序序列,所以每次对集合进行连接返回的字符串是随机的。
11.2 示例¶
源代码:
1 2 3 print(" ".join(["Beijing", "Normal", "University"])) print("-".join(("Mixly", "Mixpy", "MixGo"))) print("--".join({"Mixly", "Mixpy", "MixGo"}))输出结果:
Beijing Normal University Mixly-Mixpy-MixGo MixGo--Mixly--Mixpy # 此项由于是连接集合,所以每一次输出的结果是随机的
12.字符串内容替换¶
12.2 示例¶
源代码:
1 2 3 4 5 str = "Hello,mixly" print(str.replace("mixly","mixpy")) print(str) print("北京师范大学米思齐团队".replace("米思齐","Mixly")) print("Hello,mixly".replace("l","A"))输出结果:
Hello,mixpy Hello,mixly 北京师范大学Mixly团队 HeAAo,mixAy
13.字符串分割¶
13.2 示例¶
源代码:
1 2 3 4 print("I love mixly!".split(" ")) print("Hello mixly!".split("l")) print("Hello mixly!".split("L")) print("北京师范大学米思齐团队".split("米思"))输出结果:
['I', 'love', 'mixly!'] ['He', '', 'o mix', 'y!'] ['Hello mixly!'] ['北京师范大学', '齐团队']
14.字符串消除空格¶
14.1 描述¶
此模块可以消除字符串两侧或者单独删除左、右侧的空格,返回处理后的字符串。
14.2 示例¶
源代码:
1 2 3 print(" I love mixly ".strip()) print(" I love mixly ".lstrip()) print(" I love mixly ".rstrip())输出结果:
I love mixly I love mixly I love mixly
15.字符串格式化¶
15.1 描述¶
此模块可以在字符串中格式化传递参数。需要传递参数的地方使用”{}”标记,你可以点击模块上的蓝色齿轮添加多个参数。
注意
- 传递的参数可以是各种数据类型。
- 后面参数排列的顺序对应”{}”标记的顺序。
15.2 示例¶
源代码:
1 2 3 4 5 import random place = ["北京", "重庆", "广东", "浙江", "福建"] MixGroup = ["Mixly", "Mixpy", "MixGo"] print("Random No. is {}".format(random.randint(1, 100))) print("我在{},我爱{}!".format(random.choice(place), random.choice(MixGroup)))输出结果:
Random No. is 62 我在重庆,我爱Mixly!
16.字符串表达式执行¶
16.2 示例¶
源代码:
1 2 3 4 5 6 7 8 9 10 a = True b = False c = 3 d = 5 print(eval("1+1")) print(eval("pow(2,2)")) # 2的2次方 print(eval("int('1') * 3")) print(eval("a and b")) print(eval("c * d")) print(eval("d > c"))输出结果:
2 4 3 False 15 True
附录:字符串索引方向¶
注意
- 有正反两种索引方式。
- 正向索引中,字符串各个字符的索引从0开始,也就是说第一个字符的索引为0,第九个字符的索引为8,以此类推。
- 反向索引中,字符串各个字符的索引从字符串长度的相反数开始,也就是说,对于一个长度为5的字符串,第一个(倒数第五个)字符的索引为-5,倒数第一个(最后一个)字符的索引为-1,倒数第二个字符的索引为-2,以此类推。
- 阅读完毕后,在浏览器中后退可回到之前的浏览位置。