各位大佬帮忙一下,谢谢
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''为什么前面要加r,为什么不能光用两个单引号框住这些符号呢?
{:9_220:} 本帖最后由 知了和蜜蜂 于 2020-10-24 20:55 编辑
因为这些特殊字符已经包含了单引号和双引号了,你用两个单引号但是最终显示的是却是三个单引号,不符合引号成双成对出现的规则。 知了和蜜蜂 发表于 2020-10-24 20:50
因为这些特殊字符已经包含了单引号和双引号了,你用两个单引号但是最终显示的是却是三个单引号,不符合引号 ...
那r是代表什么?而且我一边用两个和一边用三个有什么区别吗? 加r是因为让字符串变成原始意义,也就是变成原始字符串 冰河星云 发表于 2020-10-24 21:01
加r是因为让字符串变成原始意义,也就是变成原始字符串
那为什么有一边有三个引号呢?{:9_220:} DoubleS、Zhao 发表于 2020-10-24 21:10
那为什么有一边有三个引号呢?
三引号可以在命令行模式下随意换行,更方便打印需要换行的字符串 如果你用三引号,那前面可以不加r吧…… symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>''' #首先看清楚是3个单引号,加r的原因,是因为后面有\,加了r就可以直接这么定义字符串,不加r你碰到反斜杠就得写2个
>>> print (r'\n\t')
\n\t
>>> print('''\n\t''') #这里的\n直接转义成了换行,\t转义成了制表符
>>> print('\\n\\t')
\n\t r是表示类型,raw string类型(原生字符串类型),指不包含转义符的字符串
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
页:
[1]