鱼C论坛

 找回密码
 立即注册
查看: 1919|回复: 8

[已解决]各位大佬帮忙一下,谢谢

[复制链接]
发表于 2020-10-24 20:39:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''

为什么前面要加r,为什么不能光用两个单引号框住这些符号呢?

最佳答案
2020-10-24 21:01:15
加r是因为让字符串变成原始意义,也就是变成原始字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-24 20:50:27 | 显示全部楼层
本帖最后由 知了和蜜蜂 于 2020-10-24 20:55 编辑

因为这些特殊字符已经包含了单引号和双引号了,你用两个单引号但是最终显示的是却是三个单引号,不符合引号成双成对出现的规则。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-24 21:01:03 | 显示全部楼层
知了和蜜蜂 发表于 2020-10-24 20:50
因为这些特殊字符已经包含了单引号和双引号了,你用两个单引号但是最终显示的是却是三个单引号,不符合引号 ...

那r是代表什么?而且我一边用两个和一边用三个有什么区别吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-24 21:01:15 | 显示全部楼层    本楼为最佳答案   
加r是因为让字符串变成原始意义,也就是变成原始字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-24 21:10:46 | 显示全部楼层
冰河星云 发表于 2020-10-24 21:01
加r是因为让字符串变成原始意义,也就是变成原始字符串

那为什么有一边有三个引号呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-24 21:15:56 | 显示全部楼层
DoubleS、Zhao 发表于 2020-10-24 21:10
那为什么有一边有三个引号呢?

三引号可以在命令行模式下随意换行,更方便打印需要换行的字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-24 21:30:39 | 显示全部楼层
如果你用三引号,那前面可以不加r吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-24 22:13:08 | 显示全部楼层
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''   #首先看清楚是3个单引号,加r的原因,是因为后面有\,加了r就可以直接这么定义字符串,不加r你碰到反斜杠就得写2个

>>> print (r'\n\t')
\n\t
>>> print('''\n\t''') #这里的\n直接转义成了换行,\t转义成了制表符

       
>>> print('\\n\\t')
\n\t
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-25 00:31:30 | 显示全部楼层
r是表示类型,raw string类型(原生字符串类型),指不包含转义符的字符串

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表