python字符串的本质是:字符序列,Python 的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。
1.引号创建字符串
我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”jea”
使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符,例如
>>> a = "I'm a teacher!" >>> print(a) I'm a teacher! >>> b = 'my_name is "TOM"' >>> print(b) my_name is "TOM"
2.空字符串和 len()函数
--Python 允许空字符串的存在,不包含任何字符且长度为 0 >>> c = '' >>> len(c) 0 len()用于计算字符串含有多少字符。例如: >>> d = 'IT邦德' >>> len(d) 4
3.转义字符
我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些
>>> a = 'I\nlove\nU' >>> a 'I\nlove\nU' >>> print(a) I love U >>> print('aaabb\ cccddd') aaabbcccddd
4.不换行打印
我们前面调用 print 时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我们可以自己通过参数 end = “任意字符串”。实现末尾添加任何内容:
print("jea",end=' ') print("jea",end='##') print("jea") 运行结果:jea jea##jea
5.replace()实现字符串替换
字符串不可改变。但是,我们确实有时候需要替换某些字符,这时,只能通过创建新的字符串来实现
>>> a = 'abcdefghijklmnopqrstuvwxyz' >>> a 'abcdefghijklmnopqrstuvwxyz' >>> a = a.replace('c','高') 'ab 高 defghijklmnopqrstuvwxyz'
6.split()分割和 join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
示例代码如下:
>>> a = "to be or not to be" >>> a.split() ['to', 'be', 'or', 'not', 'to', 'be'] >>> a.split('be') ['to ', ' or not to ', '']
join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。
示例代码如下:
>>> a = ['jea','jea100','jea200'] >>> '*'.join(a) 'jea*jea100*jea200'
7.format()基本用法
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序
>>> a = "名字是:{0},年龄是:{1}" >>> a.format("Jeames",18) '名字是:Jeames,年龄是:18' >>> a.format("邦德",6) '名字是:邦德,年龄是:6' >>> b = "名字是:{0},年龄是{1}。{0}是个好小伙" >>> b.format("邦德",18) '名字是:邦德,年龄是 18。邦德是个好小伙' >>> c = "名字是{name},年龄是{age}" >>> c.format(age=19,name='邦德') '名字是邦德,年龄是 19'