首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库Python

Python中的原生字符串:r字符的作用

减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2020-07-04 12:53:21

Python中的转义字符可以帮助我们在字符串处理中提供特殊的需求,如换行、使用制表键、使用特殊符号等。但有时,我们需要把字符串的内容原样输出来,这时就需要特殊的处理方式了。

在Python字符串前使用字符 'r'‘R’ 可以实现这个需求,如:

str = r'Python\nJava'

像这种在字符串前端使用了 'r''R' 的字符串叫原生字符串。

原生字符串中的每个字符都表示它本身的含义

如果读者对于Python中的转义字符不是很了解的话,可以看一下本站中的《Python中的转义字符》这篇文章。

Python中的原生字符串

下面使用几个例子来说明一下具体使用方法:

>>> s1="Python\nJava"  # 不使用原生字符串
>>> print(s1)
Python
Java

>>> s1  #直接输出,不使用print()函数
'Python\nJava'
>>> s2 = r"Python\Java"
>>> print(s2# 使用print()函数输出
Python\nJava
>>> s2  # 不使用print()函数直接输出
'Python\\nJava'
>>> s3 = R'I Love Python.'  # 没有使用转义字符的字符串
>>> print(s3)
I Love Python

从上面的例子可以看出,在没有使用 'r''R' 的字符串使用print()函数输出时,其会按照转义字符的转义进行输出,如果使用了 'r''R' ,则处于引号中的内容就会原样被输出。

在上面的例子中,我们也注意到在 Python 控制台中直接使用变量进行输出原生字符串时,Python 给 '\' 又添加了一个'\',实际上表示对 '\'的一个转义,告诉用户,这里有一个 '\',而不是换行符'\n'。

在实际使用原生字符串时,我们要注意合理处理字符串中的内容,否则可能与你想表达的含义不同,如下面的例子:

>>> str1 = "Python \ada"  # 不使用原生字符串会输出与我们预期不同的内容
>>> print(str1)
Python da
>>> str1 = r"Python \ada" # 使用后,输出结果达到预期
>>> print(str1)
Python \ada
>>> str1 = 'y\x'  #出报错
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 1-2: truncated \xXX escape
>>> str1 = r'y\x' #没有问题
>>> str2 = '\' # 字符串就是个 \ ,但报错
SyntaxError: EOL while scanning string literal
>>> str2 = r'\' # 没有问题
>>> str3 = '\\' # 想输出两个\,然不是
>>> print(str3)
\
>>> str3 = r'\\'  # 这样才能达到预期
>>> print(str3)
\\

本文(完)


如内容有错误或不完善的地方,欢迎留言评论,分享知识,网留余香。

如需转载,请注明出处和本文链接地址:翔宇亭IT乐园(http://www.biye5u.com/)

本文链接地址:http://www.biye5u.com/article/python/2020/6469.html

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.