Python序列类型之字符串详解

匿名 (未验证) 提交于 2019-12-02 22:51:30

字符串(str)
关于引号:Python中有3种引号。分为单引号、双引号、三引号。python中单引号’'和双引号""没有区别,如a=’abc’,a=’’abc’’。三引号就是连敲三次单引号,不表示字符串,它用来多行注释,并且多行注释没结束(没出现第二个三引号)可以随便换行。若引号中还要加引号需要交叉使用,即外面单引号里面双引号,外面双引号里面单引号。
一对单引号或双引号加上引号内的字符就是字符串,字符串中间不可以换行,想换行显示在换行处敲一个\n。

>>> a='abcd'
>>> b="efgh"
>>> type(a)
<class 'str'>
>>> type(b)
<class 'str'>
>>> c='ab"c"de'
>>> print(c)
ab"c"de
>>> d='abc\ndefgh\nijk'
>>> print(d)
abc
defgh
ijk

字符串的显示:解释器显示字符串时保留字符串原来的样子,如果print字符串显示的是客户看得到的效果,两端没引号。

>>> a='Hello world!'
>>> a
'Hello world!'
>>> print(a)
Hello world!

str字符串和repr字符串(原始字符串)
我们平时写代码和打印的都是str字符串。str字符串写的时候要加引号,print str字符串时结果都是两端无引号,转义后的字符串。若想原样打印字符串,使用repr函数将str转换成原始字符串。

>>> print(str('Hello \nworld !'))
Hello
world !
>>> print(repr('Hello \nworld !'))
'Hello \nworld !'

转义符:\符号就是转义符,其功能是将后面紧跟的一个字符由普通意思转成特殊意思。若\后是引号,则取消其表示字符串的功能。若\后是字母,有时表示特定含义,如\n表示换行符,\t表示制表符。若不想转义需要在字符串前加小写r(将str转换成repr原始字符串)或者在\后再加一个\变成\。当我们打印文件路径时,防转义就特别有用。
转义符同样适用于表达式和语句。

>>> a=r'abc\ndef\ngh'
>>> print(a)
abc\ndef\ngh
>>> a='abc\\ndef\\ngh'
>>> print(a)
abc\ndef\ngh
>>> b='Let's go'
File "<stdin>", line 1
b='Let's go'
^
SyntaxError: invalid syntax
>>> b='Let\'s go'
>>> b
"Let's go"


我们看到’Let’s go’会报错,因为机器不知道从哪里结束字符串。如果加一个\,紧跟的单引号就不再表示字符串。
注意使用repr()时打印原始字符串两端有引号,使用前端加r, 原始字符串打印时只防转义,两端无引号。
str和repr字符串都不能以\结尾,否则报错。若想以\结尾可以将\拆出单作为一个字符串,\写成\,如下:

>>> print(r'C:\Program files\foo\bar''\\')
C:\Program files\foo\bar\

关于编码










>>> '\u00c6'

>>> '\U0001F60A'

>>> '\N{Cat}'

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!