一个字符串是字符的序列。 一个字符只是一个符号。例如,英语有26个字符。
Python String
Python String是一个内置的数据类型,表示代表Unicode字符的字节数组。Python没有字符数据类型,单个字符只是一个长度为1的字符串。
计算机不处理字符,它们处理的是二进制数字。因此,尽管你可能在屏幕上看到字符,但在内部,它是作为0和1的组合来存储和操作的。
将字符转换为数字的过程称为编码,相反的过程称为解码。ASCII和Unicode是一些使用的简化编码。
你可以使用Python len()函数计算一个String中的字符。
在Python中,String是Unicode字符的序列。
Unicode的引入是为了包括所有语言中的每个字符,并带来编码的统一性。
像其他许多编程语言一样,Python中的字符串是代表Unicode字符的字节数组。
然而,Python没有字符数据类型,单个字符只是一个长度为1的字符串。
方括号可以用来访问一个字符串的各个项目。
如何在Python中创建一个字符串
要在Python中创建一个字符串,请使用单引号(")或双引号(""),甚至是三引号。 单引号中的字符串不能包含任何其他的单引号字符;否则,就会出现错误,因为编译器将无法识别字符串的开始和结束位置。
如果我们想克服这个错误,最好使用双引号,因为它有助于创建含有单引号的字符串。
对于包含双引号的字符串,建议使用三引号。同时,三倍引号还允许创建多行字符串。
请看下面的字符串字面意义的例子。
print("Millie Bobby Brown")
print('Millie Bobby Brown')
print('''Millie Bobby Brown''')
我们可以使用单引号和双引号。
➜ pyt python3 app.py
Millie Bobby Brown
Millie Bobby Brown
Millie Bobby Brown
➜ pyt
我们可以用 print() 函数来显示String字头。
我们在上面的例子中使用了单引号、双引号和三引号。我们会得到相同的输出,但当我们有双引号的字作为一个字符串时,三引号是有帮助的。请看下面的代码。
print('''Mill's ''')
请看下面的输出。
➜ pyt python3 app.py
Mill's
➜ pyt
Python中的多行字符串
要在Python中创建一个多行 字符串, 使用三引号将一个多行字符串分配给一个变量。
请看下面的代码。
muldata = """Eleven's character Played
by Millie Bobby Brown is the
best thing that ever happened in the
Drama Series."""
print(muldata)
见下面的输出。
➜ pyt python3 app.py
Eleven's character Played
by Millie Bobby Brown is the
best thing that ever happened in the
Drama Series.
➜ pyt
如何在Python中访问字符
要访问Python中的字符,使用索引,就像编程语言中的数组一样。 字符串的单个字符可以通过使用索引的方法来访问。要访问字符串中的字符范围,可以使用切分方法。
字符串中的切分是通过切分操作符(冒号)完成的。索引法允许负数地址引用来访问字符串后面的字符,例如,-1指的是最后一个字符,-2指的是第二个最后一个字符,以此类推。
而访问超出范围的索引将导致IndexError。此外,只允许传递Integer数据类型作为索引,float或其他类型将导致TypeError。
请看下面的代码例子。
# app.py
StrA = "MillieBobbyBrown"
print("Initial String: ", StrA)
print("\nFirst character of String is: ", StrA[0])
print("\nLast character of String is: ", StrA[-1])
print("\nSlicing characters from 3-12: ", StrA[3:12])
print("\nSlicing characters between " + "3rd and 2nd last character: ", StrA[0:-5])
请看下面的输出。
➜ pyt python3 app.py
Initial String: MillieBobbyBrown
First character of String is: M
Last character of String is: n
Slicing characters from 3-12: lieBobbyB
Slicing characters between 3rd and 2nd last character: MillieBobby
➜ pyt
如何在Python中从一个字符串中删除字符
在Python中,更新或删除String中的字符是不允许的。这将导致一个错误,因为不支持从String中分配项目或删除项目。
尽管通过内置的del关键字可以删除整个String,但这是因为String是不可改变的。因此String中的元素一旦被赋值就不能被改变。
只有新的字符串可以被重新分配到同一名称。
现在,让我们试着更新String,尽管我们知道我们会得到一些错误。
请看下面的代码例子。
# app.py
StrA = "MillieBobbyBrown"
print("Initial String: ")
print(StrA)
StrA[2] = 'K'
print("\nUpdating character at 2nd Index: ")
print(StrA)
好的,所以我们正试图修改StrA。 现在,请看下面的输出。
➜ pyt python3 app.py
Initial String:
MillieBobbyBrown
Traceback (most recent call last):
File "app.py", line 5, in <module>
StrA[2] = 'p'
TypeError: 'str' object does not support item assignment
现在,使用del 关键字删除该字符串。
# app.py
StrA = "MillieBobbyBrown"
print("Initial String: ")
print(StrA)
del StrA
print(StrA)
请看下面的输出。
➜ pyt python3 app.py
Initial String:
MillieBobbyBrown
Traceback (most recent call last):
File "app.py", line 6, in <module>
print(StrA)
NameError: name 'StrA' is not defined
➜ pyt
看,在我们删除了StrA之后,现在它说StrA没有被定义。
如何在Python中格式化字符串
要在Python中格式化一个字符串,使用String format() 方法。 **String format()**方法接受任意数量的参数。但是,它主要分为以下两种类型的参数。
- 位置参数- 它是一个参数列表,可以通过大括号{index}内的参数索引来访问。
- 关键字参数- 这是一个key=value类型的参数列表,可以通过大括号{key}内的参数的键来访问。
请看下面的例子。
# app.py
name = 'Millie'
coins = 15
print('Hello {}, you are {} years old.'.format(name, coins))
请看下面的输出。
name = 'Millie'
coins = 15
print('Hello {}, you are {} years old.'.format(name, coins))
Python字符串strip()方法可以去除尾部开头的任何空白。
见下面的代码例子。
name = " Millie "
print(name.strip())
见下面的输出。
➜ pyt python3 app.py
Millie
➜ pyt
本教程就到此为止。