Python 字符串深度总结( 二 )

Output:
【Python 字符串深度总结】4849505152在上面的代码片段中,我们遍历字符串 ABCDE 和 01234,并将每个字符转换为它们在 ASCII 表中的十进制表示 。我们还可以使用 chr() 函数执行反向操作,从而将 ASCII 表上的十进制数字转换为它们的 Python 字符串字符 。例如:
decimal_rep_ascii = [37, 44, 63, 82, 100]for one_decimal in decimal_rep_ascii:    print(chr(one_decimal))Output:
%,?Rd在 ASCII 表中,上述程序输出中的字符串字符映射到它们各自的十进制数
字符串属性零索引: 字符串中的第一个元素的索引为零,而最后一个元素的索引为 len(string) - 1 。例如:
immutable_string = "Accountability"print(len(immutable_string))print(immutable_string.index('A'))print(immutable_string.index('y'))Output:
14013不变性: 这意味着我们不能更新字符串中的字符 。例如我们不能从字符串中删除一个元素或尝试在其任何索引位置分配一个新元素 。如果我们尝试更新字符串,它会抛出 TypeError:
immutable_string = "Accountability"# Assign a new element at index 0immutable_string[0] = 'B'Output:
---------------------------------------------------------------------------TypeErrorTraceback (most recent call last)~AppDataLocalTemp/ipykernel_11336/2351953155.py in23 # Assign a new element at index 0----> 4 immutable_string[0] = 'B'TypeError: 'str' object does not support item assignment但是我们可以将字符串重新分配给 immutable_string 变量,不过我们应该注意它们不是同一个字符串,因为它们不指向内存中的同一个对象 。Python 不会更新旧的字符串对象;它创建了一个新的,正如我们通过 ids 看到的那样:
immutable_string = "Accountability"print(id(immutable_string))immutable_string = "Bccountability"print(id(immutable_string)test_immutable = immutable_stringprint(id(test_immutable))Output:
269375167057626937516710242693751671024上述两个 id 在同一台计算机上也不相同,这意味着两个 immutable_string 变量都指向内存中的不同地址 。我们将最后一个 immutable_string 变量分配给 test_immutable 变量 。可以看到 test_immutable 变量和最后一个 immutable_string 变量指向同一个地址
连接: 将两个或多个字符串连接在一起以获得带有 + 符号的新字符串 。例如:
first_string = "Zhou"second_string = "luobo"third_string = "Learn Python"fourth_string = first_string + second_stringprint(fourth_string)fifth_string = fourth_string + " " + third_stringprint(fifth_string)Output:
ZhouluoboZhouluobo Learn Python重复: 字符串可以用 * 符号重复 。例如:
print("Ha" * 3)Output:
HaHaHa索引和切片: 我们已经确定字符串是从零开始索引的,我们可以使用其索引值访问字符串中的任何元素 。我们还可以通过在两个索引值之间进行切片来获取字符串的子集 。例如:
mAIn_string = "I learned English and Python with ZHouluobo. You can do it too!"# Index 0print(main_string[0])# Index 1print(main_string[1])# Check if Index 1 is whitespaceprint(main_string[1].isspace())# Slicing 1print(main_string[0:11])# Slicing 2:print(main_string[-18:])# Slicing and concatenationprint(main_string[0:11] + ". " + main_string[-18:])Output:
ITrueI learned EnglishYou can do it too!I learned English. You can do it too!字符串方法str.split(sep=None, maxsplit=-1): 字符串拆分方法包含两个属性:sep 和 maxsplit 。当使用其默认值调用此方法时,它会在任何有空格的地方拆分字符串 。此方法返回字符串列表:
string = "Apple, Banana, Orange, Blueberry"print(string.split())Output:
['Apple,', 'Banana,', 'Orange,', 'Blueberry']我们可以看到字符串没有很好地拆分,因为拆分的字符串包含 , 。我们可以使用 sep=',' 在有 ,


推荐阅读