字符串该如何定义呢?通俗的说:字符串就是一系列的字符。
>>> a = ‘I am a student‘
>>> print(a)
I am a student
>>> b = "I am a teacher"
>>> print(b)
I am a teacher
三引号又分为单三引号、双三引号,通过连续 3 个单引号或者 3 个单引号,可以帮助我们创建多行字符串。
>>> a = ‘‘‘
I am a student
My name is 李雷
I am a teacher
My name is 韩梅梅
‘‘‘
>>> print(a)
I am a student
My name is 李雷
I am a teacher
My name is 韩梅梅
Python 中常见的转义字符,我这里为大家详细列举出来了。
\n
:换行符>>> a = ‘i\nlove\nyou‘
>>> print(a)
i
love
you
\‘
:单引号>>> s = ‘Yes,he doesn‘t‘
SyntaxError: invalid syntax
>>> s = ‘Yes,he doesn\‘t‘
>>> print(s,type(s),len(s))
Yes,he doesn‘t <class ‘str‘> 14
\
:在行尾时,续行符>>> s = ‘abcdeegf‘
>>> print(s)
Abcdeegf
\t
:表示空四个字符,也称缩进,相当于按一下 Tab 键>>> print("Python")
Python
>>> print("\tPython")
Python
\n\t
:换行加每行空四格>>> print("\n\tLilei\n\tlove\n\tHanmeimei")
Lilei
love
Hanmeimei
>>> print("\n\tLilei\n\tlove\n\tHanmeimei")
Lilei
love
Hanmeimei
# 注: \t\n 效果和\n 是一样的,不建议使用。
>>> print("\t\nPython")
Python
>>> print("\nPython")
Python
>>> print("\n\tPython")
Python
关于字符串的索引和切片,大家好好了解一下就行,直接上例子。
>>> x = ‘python‘
>>> print(x[0],x[5])
p n
>>> print(x[-6],x[-1])
p n
>>> print(x[1:4])
yth
>>> print(x[-5:-2])
yth
>>> x[::-1]
‘nohtyp‘
>>> x[::-2]
‘nhy
>>> a = [‘韩‘,‘梅‘,‘梅‘]
>>> b = ‘‘.join(a)
>>> print(b)
陈丽美丽
>>> c = ‘\n‘.join(a)
>>> print(c)
韩
梅
梅
>>> print(‘str‘ + ‘ing‘)
string
>>> str = ‘‘
>>> for i in range(5):
... str += ‘韩梅梅‘ # 相当于 str = str + ‘韩梅梅‘
>>> print(str)
韩梅梅韩梅梅韩梅梅韩梅梅韩梅梅
>>> import time
>>> time01 = time.time()
>>> st = ‘‘
>>> for i in range(1000000):
... st += ‘陈丽‘
... time02 = time.time()18
... print(‘用时: ‘ + str(time02-time01))
用时: 1.2170696258544922
>>> time03 = time.time()
>>> a = []
#随着迭代次数增大。我们发现:使用 join 内置函数,拼接字符串所用时间少。
>>> for i in range(1000000):
... a.append(‘陈丽‘)
... li = ‘‘.join(a)
... time04 = time.time()
... print(‘用时: ‘ + str(time04-time03))
用时: 0.24601387977600098
综上所述:进行字符串拼接,推荐使用‘join’ 进行字符串拼接,少用‘+’ 。
注意下面3对符号。
>>> str1 = ‘abcdefgh‘
>>> print(‘a‘ in str1)
True
>>> print(‘ab‘ in str1)
True
>>> str2 = "123"
>>> str3 = "123"
>>> str2 == str3
True
>>> str2 is str3
True
>>> id(str2)
1995935692312
>>> id(str3)
1995935692312
Python 支持字符串驻留机制,对于符合标识符的字符串(注意:仅仅包含下划线_、字母、数字),才会启用字符串驻留机制。此时,保存一份相同且不可变的字符串, 不同的值被存在驻留池中,因此,他们还是同一个东西。
>>> m = ‘12_abv‘
>>> n = ‘12_abv‘
>>> print(id(m),id(n))
51210312 51210312
>>> print(m == n)
True
# m 和 n 是同一个对象,存储地址相同才是同一个对象。
>>> print(m is n)
True
-----------------------------------------------------------------
>>> p = ‘ab#‘
>>> q = ‘ab#‘
>>> print(id(p),id(q))
51209808 51210368
>>> print(p == q)
True
# p 和 q 不是同一个对象,存储地址相同才是同一个对象。
>>> print(p is q)
False
原文:https://www.cnblogs.com/pure3417/p/14641401.html