python 中原始字符串_在python中的字符串、原始字符串、长字符串

到目前为止,我们所认知的字符串就是引号内的一切东西。字符串也称为文本,文本和数字是截然不同的。

如果直接让两个数字相加,那么Python会直接将数字相加后的结果告诉你:

>>> 4 + 5

9

但是如果在数字的两边加上了引号,就变成了字符串的拼接,这正是引号带来的差别:

>>> '4'+'5'

'45'

要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或双引号,Python表示在这一点上不挑剔。但必须成对,不能一边用单引号,另一边却用双引号,这样Python就不知道你到底想干嘛了:

>>>’Python I love you!"

SyntaxError: EOL while scanning string literal

那如果字符串内容中需要出现单引号或双引号,怎么办?

>>> ’Let's go'

SyntaxError: invalid syntax

像上面这样写,Python 会误解你的意思(认为'Let'是一个字符串,而sgo'是另一个不完整的字符串),从而产生错误。

有两种方法来改进。第一种比较常用,就是使用转义符号(\)对字符串中的引号进行转义,这样Python 就知道这个引号是要直接输出的:

>>>’Let\'s go'

"Let's go"

还有一种方法,就是利用 Python既可以用单引号也可以用双引号表示字符串这一特点,只要用上不同的引号表示字符串,那么Python就不会误解你的意思啦。

>>> "Let's go"

"Let's go"

3.3 原始字符串

看起来好像反斜杠是一个好东西,那不妨试试打印C:\now,代码如下:

>>> string =’C:\now'

>>> string

’C:\now’

>>> print(string)

C:

OW

打印结果并不是我们预期的,原因是反斜杠(\)和后边的字符(n)恰好转义之后构成了换行符(\n)。这时候有朋友可能会说,用反斜杠来转义反斜杠不就可以啦。嗯,不错,的确可以用反斜杠对自身进行转义:

>>> string =’C:\\now'

>>> string

’C:\\now'

>>> print(string)

C:\now

但如果一个字符串中有很多个反斜杠,我们就不乐意了。毕竟,这不仅是一个苦差事,还可能使代码变得混乱。

不过大家也不用怕,因为在Python 里有一个快捷的方法,就是使用原始字符串。原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:

>>> string = r'c:\now'

>>> string

’c:\\now'

>>> print(string)

C:\now

在使用字符串时需要注意的一点是:无论是否为原始字符串,都不能以反斜杠作为结尾(注:反斜杠放在字符串的末尾表示该字符串还没有结束,换行继续的意思)如果坚持这样做就会报错:

>>> string = ’first\'

SyntaxError:EOL while scanning string literal

>>> string = r'first\'

SyntaxError: EOL while scanning string literal

大家不妨考虑一下:如果非要在字符串的结尾加个反斜杠,有什么办法可以来灵活实现呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值