Chinaunix首页 | 论坛 | 博客
  • 博客访问: 183125
  • 博文数量: 218
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2211
  • 用 户 组: 普通用户
  • 注册时间: 2020-08-10 06:35
文章分类
文章存档

2024年(3)

2023年(86)

2022年(53)

2021年(42)

2020年(34)

我的朋友

分类: Python/Ruby

2023-01-18 23:02:36

续行符与三引号

回忆上次内容

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

图片描述

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

神奇的-反斜杠\

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

图片描述

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

具体试试

图片描述

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

编辑文件

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

图片描述

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

字符串续行符

图片描述

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

图片描述

  • 运行结果

图片描述

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

contain

图片描述

  • con 一起
  • ten 拉伸

图片描述

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

continue

  • 一个挨一个

图片描述

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

图片描述

continent

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

图片描述

  • 所以叫大陆

continuation

  • line continuation character

图片描述

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

续行符

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

图片描述

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

得到cow

图片描述

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

笨方法

  • {BANNED}中国第一行加上print("

图片描述

  • {BANNED}最佳后一行加上")

图片描述

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

替换细节

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

图片描述

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

尝试运行

  • :nohls 取消高亮

图片描述

  • 结果

图片描述

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

修改

图片描述

  • 修改牛尾巴的位置

图片描述

  • 运行正常

总结

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

图片描述

  • 有什么方法让字符串原样输出吗?????
  • 我们下次再说!????
  • 蓝桥->
  • github->
  • gitee->
  • 视频-> 作者:oeasy
阅读(219) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~