[oeasy]python0053_ 续行符_line_continuation_python行尾续行

续行符与三引号

回忆上次内容

  • 上次还是转义序列
类型 英文 符号
\a bell 响铃
\b backspace 退格
\t tab 水平制表符
\v vertical tab 垂直制表符
换行不回车
\\ backslash 反斜杠
\" double quote 双引号
\’ single quote 单引号
\xhh 具体字符 输出(hh)16 进制对应的ascii 字符
\ooo 具体字符 输出(nnn)8 进制对应的ascii 字符
  • 黑暗森林已经渐渐清晰

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第1张图片

  • 上图中提到的续行符
    • line continuation character
      • 是哪个字符呢?

神奇的-反斜杠\

  • \是 转义字符
    • 转义转义 转化含义
  • python3 在 多行输出的时候
    • 也有 特别的应用

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第2张图片

  • 结尾处有\
    • 下一行 需要 在一起来执行
  • 尝试下面这种东西
    • 在这里 反斜杠实现的是 续行的效果
    • 此处反斜杠 就是 "续行符"
    • line continuation character

具体试试

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第3张图片

  • 好像 确实可以
    • 这有什么意义吗?

编辑文件

  • 如果 某一行 特别
    • 超过了 80个字符
    • 就没有必要一行 写完
      • 适当时候加上 续行符

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第4张图片

  • 也能得到 相应的效果
    • 各个被加数 对齐
    • 看起来 也比较美观

字符串续行符

  • Σὺ καὶ δέδορκας κοὐ βλέπεις.
    • 性格是长期延续的习惯(希腊谚语)

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第5张图片

  • 运行结果

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第6张图片

  • 究竟应该如何理解continue呢?

contain

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第7张图片

  • con 一起
  • ten 拉伸

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第8张图片

  • contain
    • 一起拉伸
    • 意思是包含着

continue

  • 一个挨一个

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第9张图片

  • 以不间断的连续方式连接在一起
    • 连续地

continent

  • 各大洲本来都是
    • 手拉手连在一起的

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第10张图片

  • 所以叫大陆

continuation

  • line continuation character

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第11张图片

  • 让行也手拉手连续起来的符号
    • 续行符
  • 尝试输出个标题(banner)

续行符

  • 先换行 再续航
    • 换行是\n
    • 续航是\
      • 把上下的行都连起来

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第12张图片

  • 能把cowsay输出的 字符画
    • 放到 python程序 里面么?
  • 尝试改造 小动物输出的 效果

得到cow

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第13张图片

  • 然后将输出 重定向到cow.py

笨方法

  • 第一行加上print("

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第14张图片

  • 最后一行加上")

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第15张图片

  • 批量替换
    • :1,9s/$/\\n\\/
  • 这个替换是什么意思呢?

替换细节

  • 1,9s/$/\\n\\/g
    • 1,9s
      • 在1-9行范围内替换substitute

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第16张图片

  • 各部分之间用/进行分割
    • 被替换模式
      • $ 行尾结束符
    • 替换为的模式
      • \\n\\
      • 先换行再续行

尝试运行

  • :nohls 取消高亮

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第17张图片

  • 结果

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第18张图片

  • 出现了一个不合理的换行

修改

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第19张图片

  • 修改牛尾巴的位置

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第20张图片

  • 运行正常

总结

  • \ 首先是转义字符
    • 可以和别的字符构成转义序列
  • \a是 ␇ (bell),
  • \b 退回一格
  • \t 水平制表符
  • \v\f LineFeed
  • \\ 输出 \
  • \" 输出 "
  • \' 输出 '
  • \xhh 通过 16 进制数值转义
  • \nnn 通过 8 进制数值转义
  • \ 还是续行字符
    • 放在行尾
    • 可以让下一行和本行连成一行

[oeasy]python0053_ 续行符_line_continuation_python行尾续行_第21张图片

  • 有什么方法让字符串原样输出吗?
  • 我们下次再说!
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy

你可能感兴趣的:(python)