📅  最后修改于: 2020-06-30 04:23:17             🧑  作者: Mango
1.字符串是不可变的
一旦定义了字符串,就无法更改。
# Python3程序显示无法更改字符串
a = 'Geeks'
# 显示输出
print(a)
a[2] = 'E'
print(a) # causes error
输出:
Traceback (most recent call last):
File "/home/adda662df52071c1e472261a1249d4a1.py", line 9, in
a[2] = 'E'
TypeError: 'str' object does not support item assignment
但是下面的代码可以正常工作。
# Python3程序显示可以将字符串附加到字符串.
a = 'Geeks'
# 显示输出
print(a)
a = a + 'for'
print(a) # works fine
输出:
Geeks
Geeksfor
在第二个程序中,解释器将复制原始字符串,然后对其进行处理和修改。因此,表达式a = a +’for’不会更改字符串,而是将变量a重新分配给结果生成的新字符串,并删除前一个字符串。了解使用id()函数。
id()函数用于返回对象的标识。
# Python3程序显示两个字符串具有相同的标识
string1 = "Hello"
string2 = "Hello"
print(id(string1))
print(id(string2))
输出:
93226944
93226944
string1和string2都指向相同的对象或相同的位置。现在,如果有人尝试修改任何一个字符串,结果将有所不同。
# 修改字符串
string1 = "Hello"
# 字符串1的身份
print(id(string1))
string1 += "World"
print(string1)
# 修改后的string1的标识
print(id(string1))
输出:
93226944
'HelloWorld'
93326432
修改了String1,这与字符串是不可变的这一事实相矛盾,但是修改前后的标识是不同的,这意味着修改后的string1会创建一个新对象,从而确认了字符串是不可变的,因为先前的对象未进行任何更改string1而不是一个新的。
2.创建字符串的三种方法:
Python中的字符串可以使用单引号或双引号或三引号创建。
单引号和双引号在创建字符串时的工作原理相同。谈论三引号时,当我们必须在多行中编写一个字符串并按原样打印而不使用任何转义序列时,将使用这些引号。
# Python3程序以三种不同方式创建字符串并将其连接.
# 单引号字符串
a = 'Geeks'
# 带双引号的字符串
b = "for"
# 带三引号的字符串
c = '''Geeks a portal
for geeks'''
d = '''He said, "I'm fine."'''
print(a)
print(b)
print(c)
print(d)
# 使用不同引号创建的字符串的串联
print(a + b + c)
输出:
Geeks
for
Geeks a portal
for geeks
He said, "I'm fine."
GeeksforGeeks a portal
for geeks
如何在屏幕上打印单引号或双引号?
我们可以通过以下两种方式做到这一点:
例:
print("Hi Mr Geek.")
# 使用转义序列
print("He said, \"Welcome to GeeksforGeeks\"")
print('Hey so happy to be here')
# 使用混合引号
print ('Getting Geeky, "Loving it"')
输出:
Hi Mr Geek.
He said, "Welcome to GeeksforGeeks"
Hey so happy to be here
Getting Geeky, "Loving it"
如何打印转义字符?
如果需要打印转义字符(\),则如果用户在字符串解释器中提到它,它将认为它是转义字符,并且不会打印。要打印转义字符,用户必须使用转义字符如示例所示,在“ \”之前。
# 打印转义符
print (" \\ is back slash ")
输出:
\ is back slash