首页 > 编程 > Python > 正文

Python入门篇之字符串

2020-02-23 06:06:37
字体:
来源:转载
供稿:网友

所有标准的序列操作对字符串都适用,但字符串是不可变的

字符串常量:

单引号:‘spa"m'

双引号:"spa'm"

三引号:'''...spam...''',"""...spam..."""

转义字符:"s/tp/na/om"

Raw字符串:r"C:/new/test.spm"

Unicode字符串:u'eggs/u0020spam

单双引号是一样的
单双引号可以互换,字符常量表达式可以用两个单引号或两个双引号来表示--两种形式同样有效返回相同类型的对象:

代码如下:
>>> 'zxcvbn',"zxcvbn"
('zxcvbn', 'zxcvbn')
>>> #不适用转义字符就可以实现在一个字符串中包含其余种类 的引号
>>> 'knight"s',"knight's"
('knight"s', "knight's")

可以自动在任意的表达式中合并相邻的字符串常量,尽管也可以使用+操作符实现:

代码如下:
>>> title="sdfsd"'dfg'"fgfd"
>>> title
'sdfsddfgfgfd'

字符串的格式化使用字符%来实现:

在%的左侧放置一个字符串,右侧放置希望格式化的值,可以使用一个值,也可以使用多个值的元组或字典

代码如下:
>>> format="Hello. %s. %s enough for ya?"
>>> values=('world','Hot')
>>> print format % values
Hello. world. Hot enough for ya?

如果需要转换的元组作为转换表达式的一部分存在,那么必须将它用圆括号括起来,以免出错

长字符串、原始字符串
1、长字符串

如果需要写一个非常长的字符串,需要跨多行,则可以使用三个引号代替普通引号

代码如下:
>>> print '''this is
a
very long
string'''
this is
a
very long
string

如果一行之中最后一个字符是反斜线,那么换行符本身就“转义”了,也就是被忽略了

代码如下:
>>> print "hello./
world!"
hello.world!
>>> #这个用法也适用表达式和语句
>>> 1+2+/
      4+5
12
>>> print /
      'hello.world'
hello.world

2、原始字符串

原始字符串以r开头,可以在原始字符串中放入任何字符,最后输出的字符串包含了转义所用的反斜线,但是不能在字符串结尾输入反斜线:

代码如下:
>>> print /
      'hello.world'
hello.world
>>> print r'Let/'s go!'
Let/'s go!
>>> print r'this is illegal/'
SyntaxError: EOL while scanning string literal

索引与分片

字符串的字符是通过索引来提取的,将获得在特定位置的一个字符的字符串。

Python偏移量是从0开始的,并比字符串的长度小1,还支持类似在字符串中使用负偏移这样的方法从序列中获取元素,负偏移认作是从结束处反向计数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表