[oeasy]python0054_三引号_原样显示字符串_triple_quoted
三引号
回忆上次内容
\首先是转义字符- 可以 和别的字符 构成转义序列
\a是 ␇ (bell),\b退回一格\t水平制表符\v、\fLineFeed\\输出\\"输出"\'输出'\xhh通过 16 进制数值转义\nnn通过 8 进制数值转义\还是 续行字符- 放在 行尾
- 可以让 下一行和本行 连成一行

- 有 什么方法 让字符串
原样输出吗?
搜索STRINGS的帮助

- 三引号 引用的
- triple-quotes
- 可以 原样输出
试炼
- 先试试 回车符

- 去看看
- 三引号 的 帮助手册
查看参考

- 在 帮助模式下
- 查找"“”

- 在 三引号 引用中
- 换行符 和 引号
- 都会被 原样显示
- 换行符 和 引号
重温
- 转义练习
- 如果 没有转义的话
- 会报错
- 不知 字符串 何时结束
- 如果 没有转义的话

- 把 这些转义 应用起来

- 如果 上面 最后这句话
- 用三引号输出的话
- 应该怎么写?
- 不要翻页
三引号输出

- 引号、回车的问题 都自动解决
- 但是反斜杠(\) 还是 需要转义
三引号输出
- 除了反斜杠 需要转义 之外
- 其余 都可以 原样输出

三引号原样输出
- 输出 帮助文件

- 输出 网页文件

- 回车和tab
- 都可以 原样保留
- 能否 原样输出 一些好玩的
- cowsay之类的东西
- 都放到 三引号里面
- 可以试试吗?
走起来
sudo apt install cowsay
echo "oeasy" | cowsay -f turtle > t.py
vi t.py

- 用 vim 打开 t.py
修改

- 前后加上print 函数 和 三引号

- 尝试运行
处理
- 运行结果
- 海龟会坍塌

- 问题在于 结尾处的反斜杠
- 这反斜杠 本是龟壳的一部分
- 由于在行尾
- 被理解为了
"续行符"

- 需要明确地 写出反斜杠
1个反斜杠(\)- 代表着
转义或续行
- 代表着
2个反斜杠(\\)- 才代表着
反斜杠这个字符
- 才代表着
- 要把
一个反斜杠- 替换为
两个反斜杠 - 怎么 替换 呢?
- 替换为
批量替换

- 分析一下替换语句

:%s/\\/\\\\/g:表示进入 命令行模式 执行命令%表示 从第一行到最后一行 全范围执行命令s表示substitute查找替换- 查找内容和替换内容 用
/隔开- 查找内容是
\\- 反斜杠本身 是 转义字符
- 表示反斜杠这个字符 需要两个反斜杠
\\代表1个反斜杠
- 反斜杠本身 是 转义字符
- 替换内容是
\\\\\\代表一个反斜杠\\\\代表2个反斜杠
- 查找内容是
gglobal- 每行中
查找不止一次
- 每行中
换后效果
- 替换之后 什么效果

最终效果

- 可以让海龟说话了!
- 三引号(triple quote)从词源上如何理解呢?
triple
- tri 来自于 three
- ple 来自于 plus

- triple 是 三倍的、三重的
tri-

- trickle
- 三水滴、涓涓细流
- trifle
- 琐事、小事
总结
- 这次讲了 三引号的输出
- 三引号中
- 回车和引号 都会 被原样输出
\还是需要从\\转义
- 黑暗森林 快被摸排清了
- 还有哪个 转义序列
- 没 研究过吗?
- 还有哪个 转义序列

\e是 干什么的?- 我们下次再说!
- 蓝桥->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
[oeasy]python0054_三引号_原样显示字符串_triple_quoted的更多相关文章
- python--基础学习(三)字符串单引号、双引号、三引号
1.基本认识 单引号字符串:'python' 双引号字符串:"python" 三引号字符串:'''python'''(三单引号),"""python& ...
- 11.5 Android显示系统框架_Vsync机制_黄油计划_三个方法改进显示系统
5. Vsync机制5.1 黄油计划_三个方法改进显示系统vsync, triple buffering, vsync虚拟化 参考文档:林学森 <深入理解Android内核设计思想>第2版 ...
- Python 学习笔记:Python 中单引号(')、双引号(")、三引号(''',""")的使用以及不转义字符串
一.单引号.双引号及三引号: 参考博客:https://www.cnblogs.com/chenhuan001/p/8006017.html 以上四种形式都是 Python 表示字符串的方式,具体的效 ...
- Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?
一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...
- python单引号(')、双引号(")、三引号(''',""")
python对字符串的表示方法比c更有灵活性,但是也更难理解. 为了在平时使用.看代码过程中对着单引号(').双引号(").三引号(''',""")不混淆,知道 ...
- Python中单引号,双引号,三引号
1.单引号与双引号的区别 s1=‘let‘s go’(明显我们是想用单引号表示let’s go这个字符串的,但是python只知道用‘’来表示字符串,所以python就把字符串中的‘字符当成单引号处理 ...
- python:单引号,双引号和三引号
python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的需要表示一个字符串对象的话,单引号和双引号没有区别 为什么需要单引号和双引号同时支持,而一般都是”呢? 比如” 双引号’里面有 ...
- python中单引号, 双引号,三引号的差异
1. 单引号和双引号用法都是一样的,但是如果字符串里有相同的字符时要使用\进行转义 举例:1) print 'hello'2) print "hello"1和2,结果都是hello ...
- python 3.5 之 单双三引号
1. 单引号和双引号用法都是一样的,但是如果字符串里有相同的字符时要使用\进行转义 举例:1) print 'hello'2) print "hello"1和2,结果都是hello ...
- (三)Boost库之字符串处理
(三)Boost库之字符串处理 字符串处理一直是c/c++的弱项,string_algo库很好的弥补了这一点. string_algo 库算法命名规则: 前缀i : 有这个前缀表名算法的大小写不 ...
随机推荐
- kubernets之init容器作用
一 init容器的作用 1.1 init容器是在pod的生命周期,保证该pod运行的一些前置条件满足之后才开始运行这个pod,例如需要依赖一些其他的pod,服务等,可以去对这些服务的状态进行检测, ...
- Vue 3.3 发布
本文为翻译 原文地址:宣布推出 Vue 3.3 |The Vue Point (vuejs.org) 今天我们很高兴地宣布 Vue 3.3 "Rurouni Kenshin" 的发 ...
- 鸿蒙HarmonyOS实战-Stage模型(应用上下文Context)
前言 应用上下文(Context)是应用程序的全局信息的接口.它是一个抽象类,提供了访问应用程序环境的方法和资源的方法.应用上下文可以用于获取应用程序的资源.启动Activity.发送广播等.每个应用 ...
- Android 13 - Media框架(26)- OMXNodeInstance(三)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了OMXNodeInstance中的端口定义,这一节我们一起来学习ACodec.OMXNode.OMX 组件使用的 buffer 到底 ...
- 图像处理技术OpencvSharp入门
目录 第一部分 初识Opencv 1.C# 下Opencv库 2.安装OpenCvSharp 第二部分 OpencvSharp入门 1.加载图像文件 2.显示图像 第三部分 基础应用 1.颜色转换 2 ...
- 用Vue全家桶纯手工搓了一个开源版「抖音」
前言 2018年刚入行前端时,公司使用的还是Angular.Angular什么都好,就是写代码时的体验老糟心了,改一个地方,按下保存之后,要等好几秒刷新后才能看到效果,Webstorm无比好用的自动保 ...
- k8s ingress部署安装
ingress概念 ingress与service,deployment同样都是k8s中的一种资源 ingress用于实现域名方式访问k8s内部应用 安装ingress 1. 安装helm: wget ...
- Linux Shell命令提示样式修改
对linux shell命令样式进行美化. 修改前的效果: 修改后的效果: 直接给出.bashrc脚本代码: 1 # ~/.bashrc: executed by bash(1) for non-lo ...
- 赛博斗地主——使用大语言模型扮演Agent智能体玩牌类游戏。
通过大模型来实现多个智能体进行游戏对局这个想对已经比较成熟了无论是去年惊艳的斯坦福小镇还是比如metaGPT或者类似的框架都是使用智能体技术让大模型来操控,从而让大模型跳出自身"预测下一个t ...
- SQL server查看触发器是否被禁用
1 select a.name as 触发器名,b.name as 表名, 2 case a.is_disabled when 0 then '启用' when 1 then '禁用' else '未 ...