字符串类型:
字符串表示:
Python中有三种字符串表示方式:
单引号 ‘ ;
双引号 “ ;
三重引号 “““ 或 ‘‘‘ 。
· 单引号、双引号表示字符串是最常见的两种方式,两种表示方式是等价的,且返回相同类型的对象。
·· 单引号和双引号表示字符串没有本质区别,可以在一种引号中嵌套另一种引号。
··· 单引号和双引号表示的字符串是等价的,要配对出现,不能混用。
· 三重引号可以是三个单引号,也可以是三个双引号。这种方式表示的字符串也叫做 “块字符串”。
转义字符:
Python 使用反斜杠 “ \ ” 表示转义字符。
转义字符是为了对其后紧接的字符进行转义,屏蔽其特殊含义,并将其作为普通字符来输出。
raw 字符串:
raw 字符串格式为:r ’ ... ’ 。
在 raw 字符串中,所有的字符都是直接按照字面意思来解释,没有转义字符或者不能打印的字符。示例:
f = open('D:\new.txt')
# 第一种方式的语句打开衣蛾文件时
# 字符“\n”会被当作回车键的转义字符
# 从而使文件打开失败
f = open('D:\\new.txt')
# 第二种方式反斜杠“\”进行转义
f = open(r'D:\new.txt')
# 第三种就是Python语言中的raw字符串
字符串操作:
Python 语言中包含字符串以下几个基本操作:
字符串的索引、字符串的分片、字符串的合并、重复字符串、其他操作。
字符串的索引:
在 Python 语言中,字符串是一个有序字符的集合,一个字符串被创建后,其中字符的位置就固定了。
第一个字符的索引编号定义为 0,第二个字符索引编号为 1,以此类推。
在 Python 语言中,对字符串可进行正向索引和反向索引。如:
上表中,中间行表示的是字符串中每个字符的内容;
上面行是该字符串正向索引时的编号;
下面行表示该字符串反向索引时的索引编号。
字符串的分片(切片):
使用分片 (slice) 操作来提取字符串中的子序列。如:
string = 'jelywx'
a = string[1:3]
b = string[1:]
c = string[:-1]
d = string[::2]
e = string[::-1]
print('string[1:3] = ',a)
print('string[1:] = ',b)
print('string[:-1] = ',c)
print('string[::2] = ',d)
print('string[::-1] = ',e)
# 输出结果:
#
# string[1:3] = el
# string[1:] = elywx
# string[:-1] = jelyw
# string[::2] = jlw
# string[::-1] = xwylej
可见,string[1:3] 获取 string 中下标从 1 到 3 的子字符串;
string[1:] 获取 string 中从下标 1 到字符串末尾的元素;
string[:-1] 获取 string 中从开始到字符串末尾的元素;
string[::2] 在 string 中,下标从 0 开始,每隔一个字符取一个元素;
string[::-1] 实现对字符串的逆序操作。
字符串的合并:连接字符串。
在连接字符串时,Python 语言会为每个连接的字符串及新产生的字符串分配内存,增大不必要的内存开销。
操作符 ( “+” ) 方法:
str1 = 'Py'
str2 = 'th'
str3 = 'on'
str4 = 'is'
str5 = 'easy'
print(str1 + str2 + str3 + ' ' + str4 + ' ' + str5)
# 输出结果:
#
# Python is easy
操作符 ( “%” ) 方法:
print('%s%s%s'%('Py','th','on'))
print('%s %s %s'%('Python','is','easy'))
# 输出结果:
#
# Python
# Python is easy
join() 方法:
print(''.join(('Py','th','on')))
print(' '.join(('Python','is','easy')))
# 输出结果:
#
# Python
# Python is easy
修改字符串:
Python 语言中,字符串属于不可变类型,不能修改或删除原字符串的字符。要实现修改的目的可以:
通过加号连接方式修改:
str1 = 'Python'
print(str1 + 'cool')
# 输出结果:
#
# Pythoncool
通过对原字符串切片再连接方式修改:
str1 = 'Python'
print('C' + str1[1:])
# 输出结果:
#
# Cython
replace() 函数方式修改:
replace() 函数的功能是字符替换。
若要替换的原字符或字符串存在,且和待替换的字符或字符串不同,则返回值为重新创建的字符串对象;
否则返回原字符串对象(区分大小写)。示例:
str1 = 'Python'
print(str1.replace('P','C'))
# 输出结果:
#
# Cython
其他操作: 通过帮助函数 dir() 可以查看字符串对象的操作方法。
字符串格式化:
字符串格式化是对字符串的输出形式进行控制,使其按照期望的方式输出。
进行字符串格式化的方法主要分为三种:符号格式化、函数格式化、字典格式化。
符号格式化:
符号格式化主要使用 “%+格式化符号”,及相应的格式化辅助符号的方式对字符串进行格式化。
常用的字符串格式化符号:
常用的格式化辅助符号:
函数格式化:
format() 方法对字符串格式化操作,format() 方法常用的匹配方法有三种:
不带编号,即 “ {} ” ;
带数字编号,可调换顺序,如 “ {0} ” 、“ {1} ” 等;
带关键字,如 “ {name} ” 、“ {age} ” 等。
示例:
print("a={},b={}".format(2, 4))
print("a={0},b={1}".format(2, 4))
print("a={1},b={0}".format(2, 4))
print("a={num1},b={num2}".format(num1=2, num2=4))
print("a={num2},b={num1}".format(num1=2, num2=4))
# 输出结果:
#
# a=2,b=4
# a=2,b=4
# a=4,b=2
# a=2,b=4
# a=4,b=2
常用格式化输出案例:
字典格式化:
在 Python 语言中,字典格式化是在左边的格式化字符串通过引用右边字典中的键来提取对应的值以实现格式化输出。示例:
print("%(name1)s love %(name2)s" % {"name1": "I", "name2": "Jelly"})
# 输出结果:
#
# I love Jelly
· 需要注意的是,括号外的 “ s ” 不能忘:“ % (name1) s ”。