鱼C论坛

 找回密码
 立即注册
查看: 4024|回复: 4

[已解决]r的作用是什么,为什么是三个引号,谢谢大家了

[复制链接]
发表于 2019-12-2 22:12:11 | 显示全部楼层 |阅读模式

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

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

x
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
最佳答案
2019-12-7 20:02:20
本帖最后由 lixiangyv 于 2019-12-7 20:04 编辑

r是表示这个字符串是原始字符串,
原始字符串就是里面的所有转义字符(\)变成普通的字符串,
例如:

  1. >>> a = r"C:\n"
  2. >>> print(a)
  3. C:\n
复制代码


如果没有字母 r ,上面的代码的结果就是:
  1. C:

复制代码

因为"\n"表示换行。
有字母 r ,转义字符就不是原来的转义字符了,
就是一个普通的字符了,没有字母 r , 要完成
有字母 r 的字符串的结果,就要这样:
  1. >>> a = "C:\\n"
  2. >>> print(a)
  3. C:\n
复制代码

但是要有很多的反斜杠(\), 这要加到什么时候?原始字符串的发明就是解决这个的。

三个引号(""" 或 ''') 表示这个是长字符串,长字符串可以在IDLE中直接换行,
看打印图形的例子:
  1. 字符串:
  2. >>> plane = "       *  \n\
  3.       * *\n\
  4.      *   *\n\
  5.      *   *\n\
  6.      *   *\n\
  7. * * *   * * *\n\
  8. *           *\n\
  9. *           *\n\
  10. *           *\n\
  11. *           *\n\
  12. * * * * * * *\n"
  13. >>> print(plane)
  14.        *  
  15.       * *
  16.      *   *
  17.      *   *
  18.      *   *
  19. * * *   * * *
  20. *           *
  21. *           *
  22. *           *
  23. *           *
  24. * * * * * * *
  25. 长字符串:
  26. >>> plane = """       *
  27.       * *
  28.      *   *
  29.      *   *
  30.      *   *
  31. * * *   * * *
  32. *           *
  33. *           *
  34. *           *
  35. *           *
  36. * * * * * * *"""
  37. >>> print(plane)
  38.        *
  39.       * *
  40.      *   *
  41.      *   *
  42.      *   *
  43. * * *   * * *
  44. *           *
  45. *           *
  46. *           *
  47. *           *
  48. * * * * * * *
复制代码

长字符串就不用每个换行的“\n\”了,
因为 symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
这段代码的长字符串没有任何换行,引号就可以写成一个引号。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 05:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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