Python String:完整指南

212 阅读5分钟

Python Strings Example | String In Python Tutorial

一个字符串是字符的序列。 一个字符只是一个符号。例如,英语有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()**方法接受任意数量的参数。但是,它主要分为以下两种类型的参数。

  1. 位置参数- 它是一个参数列表,可以通过大括号{index}内的参数索引来访问。
  2. 关键字参数- 这是一个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

本教程就到此为止。