[oeasy]python0051_ 转义_escape_字符_character_单引号_双引号_反引号_ 退格键

转义字符

回忆上次内容

  • 上次研究的是进制转化
  • 10进制可以转化为其他形式
    • bin
    • oct
    • hex
  • 其他进制也可以转化为10进制
    • int
    • 可以设置base来决定转为多少进制
  • 回忆一下
    • 我们为什么会有八进制?
    • 因为需要用八进制输出转义字符
      • \ooo
        • 把(ooo)8进制对应的ascii字符输出
    • 就如同
      • \xhh
        • 把(hh)16进制对应的ascii字符输出
  • 比如输出\n\r
  • 那我想只输出\这个字符可以吗?
  • \ 叫什么字符来着??

转义字符

  • \ 是 转义字符
    • 转义转义 转化含义
    • escape character
    • 可以将后面的字符转义
  • 原来字符是 \
    • 这个\是一个转义字符
    • \n是一个转义序列
      • 将n进行转义
    • 转为换行符

  • 也可以直接转义输出
    • 8进制数
      • “\ooo”
      • “\012”
    • 16进制数
      • “\xhh”
      • “\x0a”
  • \ 反斜杠 backslash
    • 是转义字符
  • 如果 想要输出的字符
    • 就是反斜杠\本身
      • 那应该 怎么办??
  • 去试试

尝试

  • 反斜杠(\\)无法输出
  • 去搜一下!

搜索结果

  • 具体方法是什么呢?

具体方法

  • 答案就是用两个反斜杠

  • \\
    • 第一个反斜杠是
      • 转义字符\
    • 第二个反斜杠是
      • 被转义的字符
  • 也就是说转义序列\\
    • 对应着ascii码表中的\本身
  • 这样就可以输出\

输出一个反斜杠

  • 两个反斜杠
    • 就行了

  • 在 输出的时候
    • 成了 一个反斜杠

转义字符的输出

  • 如果 我要输出 两个\
    • 应该如何 呢?

多个\

  • 2个变1个
  • 4个变2个

  • 能不能不转义
    • 直接就原样输出呢?

总结

  • 最近玩了\n\r 之外的转义序列
    • \a是 ␇ (bell)
    • \t是 水平制表符
    • \v是 换行不回车
  • 通过 16 进制数值转义
    • \xhh
    • 把(hh)16 进制对应的 ascii 字符输出
  • 通过 8 进制数值转义
    • \ooo
    • 把(ooo)8 进制对应的 ascii 字符输出
  • 这次加了 转义输出 反斜杠本身
    • \\ 输出 \
  • 总是转义
    • 还是挺麻烦的
    • 能否直接输出原样输出呢?

  • 我们下次再说!?
  • 我们下次再说!?
  • 蓝桥->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
本文转载于网络 如有侵权请联系删除

相关文章

  • SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code

    SAPRETAIL为物料组指派MerchandiseHierarchyLevelCode执行事务代码WG22,输入物料组代码14030503,以及其上层的MerchandiseCategoryHierachyLevel的代码140305,如下图,点击按钮,系统提示:Theassignmentof14030503to140305wascreated/changedwithoutvalueassignment.如上图。表明操作成功了。执行事务代码WG24去看物料组数据,-完-写于2021-10-17

  • 第一章《初识数据库》

    (1)什么是数据库: 硬盘—管理软件 数据库(DataBase、DB)是一个长期存储在计算机内、有组织的、有共享的、统一管理的数据集合。他简而言之就是一个存储数据的仓库。为了方便数据的存储和管理,他将数据按照特定的规律存储在硬盘上,通过数据库管理系统,可以有效的组织和管理存储再数据库中的数据。 我们也可以说数据库是由一批数据库的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联、反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。 2.数据库系统: 数据库系统由3部分组成: (1)数据库:用于存储数据的地方 (2)数据库管理系统:用于管理数据的软件 (3)数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据的软件补充;数据库:提供一个存储空间以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含多个表或者文件,一个数据库系统中通常包含多个数据库。数据库管理系统(DBMS):是用户创建、管理和维护数据库是所使用的软件,位于用户的操作系统之间,对数据库进行统一管理,DBMS能定义数据存储结构,提供数据的操作机制,维护数据的安全性、完整

  • SQL面试题汇总

    SQL查询排名第二名的信息SQLServerselecttop1*from (selecttop2fromTABLEorderbyCOLUMNdesc) orderbyCOLUMNasc复制Oracle(特别喜欢用别名)select*from (selectt.*,rownumrfrom (select*fromTABLEorderbyCOLUMNdesc)t wherer<=2)A whereA.r>=2复制开窗函数row_number()select*from (selectt.*,row_number()over(orderbyCOLUMNdesc)sortfromTABLE)t Wheret.sort=2复制MySQLselect*fromTABLEorderbyCOLUMNlimit1,1复制

  • Qt音视频开发6-ffmpeg解码处理

    一、前言采用ffmpeg解码,是所有视频监控开发人员必备的技能,绕不过去的一个玩意,甚至可以说是所有音视频开发人员的必备技能。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由FabriceBellard发起的,现在由MichaelNiedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。关于ffmpeg解码,网上搜索到的代码绝对是一大堆一大堆,而且很多都讲得很详细,解码的函数流程图非常清晰,关于ffmpeg这块的学习本人推荐雷神的博客,分析的相当细致,我在很久以前刚用Qt+ffmpeg解码的时候,参考的就是雷神的例子,当然这些demo其实在ffmpeg的开发包dev下的examples也是非常详细的,只不过没有什么分析过程,参考雷神的博客可以看到很多分析过程。本人总结的解码过程:注册解码库相关(av_regist

  • node自动重启工具 - nodemon 的依赖

    在开发vue项目的时候,改动代码的时候,有时候需要重新启动才会起作用,这样的频繁的启动给自己带来很多不方便,所以今天要在项目里面安装一个Node自动重启工具nodemon。介绍: nodemon是一个开发时十分好用的包,它会监视你的服务端应用程序文件,如果程序文件改变了,则他会自动重启服务,我们就可以省去命令行工具ctrl+c停止服务->启动服务,这个步骤。参考链接: https://www.npmjs.com/package/nodemon https://github.com/remy/nodemon简单记录一下过程1:全局安装npminstall-gnodemon复制安装完成之后,打开package.json可以看到版本号或者使用命令,查看nodemon-v2:启动nodemon 输入命令行:nodemon复制启动成功,就可以在浏览器打开http://localhost:8080 使用nodemon命令代替npmrundev,在每次修改项目之后,就会自动重启项目,得到最新修改的样子了~

  • 有了TensorFlow.js,浏览器中也可以实时人体姿势估计

    翻译文章,内容有删减。原文地址:https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5与谷歌创意实验室合作,我很高兴地宣布发布TensorFlow.js版本的PoseNet,这是一种机器学习模型,允许在浏览器中进行实时人体姿势估计。您可以访问https://storage.googleapis.com/tfjs-models/demos/posenet/camera.html尝试一下在线演示。PoseNet可以使用单姿态或多姿态算法检测图像和视频中的人物形象-全部来自浏览器。那么,问题来了,什么是姿态估计?姿态估计是指在图像和视频中检测人物的计算机视觉技术,以便人们可以确定某个人的肘部在图像中出现的位置。需要澄清的是,这项技术并不能识别谁在图像中-没有任何与识别身份相关的个人身份信息。该算法仅仅估计关键身体关节的位置。好吧,为什么这是令人兴奋的开始?姿态估计有很多用途,从对身体做出反应的交互式安装到增强现实、动画、健身用途等等

  • 多语言业务错误日志收集监控工具Sentry 安装与使用

    Sentry是一个日志平台,它分为客户端和服务端,客户端(目前客户端有Python,PHP,C#,Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目方便查看。Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus,Path,mozilla,Pinterest等。通过docker安装官方提供了On-Premise安装方式gitclonehttps://github.com/getsentry/onpremise cdonpremise复制然后创建volume,持久化存储dockervolumecreate--name=sentry-data&&dockervolumecreate--name=sentry-postgres复制创建环境变量配置文件:cp-n.env.example.env-createenvconfigfile复制docker-composebuild镜像,这一步会拉取官方镜像和redis等依赖,耐心等待:docker-composebuild-B

  • 6.6亿美元!思科又在搞什么大动作?

    思科宣布将以6.6亿美元的现金和股权奖励收购加州半导体公司Luxtera。Luxtera使用硅光子技术为超大规模企业、企业数据中心和服务提供商构建集成光学功能。思科计划将Luxtera的技术集成到基于意图的网络产品组合中,该产品组合涵盖数据中心和服务提供商市场。思科网络和安全业务执行副总裁兼总经理DavidGoeckeler在一份声明中表示,全球互联网流量正呈指数级增长,而“光学是实现最快网络的基础技术”。思科预测,到2022年,全球IP流量将是2017年的三倍,将达到每年480千兆字节;到2022年,互联网用户将从2017年的34亿人增至48亿人。思科特别提到,它还计划将Luxtera的技术集成到其100GbE和400GbE产品组合中。据思科称,随着系统端口容量增加到400GbE及以上,光学在解决密度和功率要求方面发挥着越来越重要的作用。10月下旬,思科宣布推出400G交换机,目标是针对超大规模云提供商、大型企业数据中心和电信提供商转向5G。实际上思科的400G交换机来的有点晚了。它的竞争对手Arista和Juniper在今年早些时候已经宣布了400GbE交换机。思科公司业务开发副总

  • Java集合--非阻塞队列(ConcurrentLinkedQueue实现原理)

    ConcurrentLinkedQueue实现原理上文,笔者介绍了非阻塞队列的基础知识,对于其代表类ConcurrentLinkedQueue做了个简单阐述。本篇,我们就继续对ConcurrentLinkedQueue进行学习,来看看ConcurrentLinkedQueue的底层实现!链表结点在ConcurrentLinkedQueue中,元素保存在结点中,对外以元素形式存在,对内则以结点形式存在。每一个结点中,都有指向下一个结点的指针,依次向后排列,形成链表结构。在ConcurrentLinkedQueue中,有一个内部类--Node,此类代表队列的结点。在Node中,item表示元素,next为指向下一个元素的指针,并且都被volatitle所修饰。之前,我们说了ConcurrentLinkedQueue是使用CAS来实现非阻塞入队出队。在Node结点中,我们也使用了CAS来实现结点的操作。使用CAS来替换本结点中的元素,使用CAS来替换本结点中指向下一个元素的指针。如果你对CAS的概念不太理解,建议可先去CAS进行学习;在本篇幅中,我们不对CAS进行过多的介绍!//单向链表中:

  • java按位取反运算符_二进制按位取反

    大家好,又见面了,我是你们的朋友全栈君。 “~”运算符在c、c++、java、c#中都有,要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二进制数在内存中是以补码的形式存放的。另外正数和负数的补码不一样,正数的补码,反码都是其本身,既:正数9(二进制为:1001)在内存中存储为01001,必须补上符号位(开头的0为符号位)。补码为01001反码为01001,其中前面加的0是符号位,负数的符号位用1表示负数-1(二进制为:0001)在内存中存储为10001,开头的1为符号位,在内存中存放为,11111(负数的补码是:符号位不变,其余各位求反,末位加1)既得到11111。补码为11111反码为11110负数的补码是:符号位不变,其余各位求反,末位加1,既-1的补码为11111反码是:符号位为1,其余各位求反,但末位不加1,既-1的反码为11110也就是说,反码末位加上1就是补码————————————————————————————————————————————弄懂了上述情况后,如何计算就好办了假设有一个数~9,计算步骤如下,9的二进制为:1001其补码为01001对

  • docker exec -it some-redis redis-cli连接不成功的注意事项

    name一定要看清,找了半个多小时毛病,原来是写错了 [root@localhostvagrant]#dockerexec-itsome-redisredis-cli 127.0.0.1:6379>复制        

  • Redis 配置远程访问

    Redis配置 Redis的配置文件位于Redis安装目录下,文件名为 redis.conf(Windows名为redis.windows.conf)。 你可以通过 CONFIG 命令查看或设置配置项。 语法 RedisCONFIG命令格式如下: redis127.0.0.1:6379>CONFIGGETCONFIG_SETTING_NAME复制 实例: 127.0.0.1:6379>CONFIGGETloglevel 1)"loglevel" 2)"notice" 127.0.0.1:6379>复制 实例: redis127.0.0.1:6379>CONFIGGET* 复制 1)"dbfilename" 2)"dump.rdb" 3)"requirepass" 4)"" 5)"masterauth" 6)"" 7)"unixsocket" 8)"" 9)"logfile" 10)"" 11)"pidfile" 12)"/var/run/redis.pid" 13)"maxmemory" 14)"0" 15)"maxm

  • setState和lazyLoad懒加载

    1.setState和lazyLoad懒加载 1.1setState setState更新状态的2种写法 (1).setState(stateChange,[callback])------对象式的setState 1.stateChange为状态改变对象(该对象可以体现出状态的更改) 2.callback是可选的回调函数,它在状态更新完毕、界面也更新后(render调用后)才被调用 (2).setState(updater,[callback])------函数式的setState 1.updater为返回stateChange对象的函数。 2.updater可以接收到state和props。 4.callback是可选的回调函数,它在状态更新、界面也更新后(render调用后)才被调用。 总结: 1.对象式的setState是函数式的setState的简写方式(语法糖) 2.使用原则: (1).如果新状态不依赖于原状态===>使用对象方式 (2).如果新状态依赖于原状态===>使用函数方式 (3).如果需要在setStat

  • java之飞机大战的记分标准

    importjava.awt.Image; importjava.util.ArrayList; importjava.util.Timer; importjavax.swing.ImageIcon; publicclassPlane{ publicImageimage; publicinty=300,x=100,width=50,height=50; privateStringimageName; privatebooleanflag=true;//true表示子弹往下走,false表示子弹往上走 privateintscore; privateTimertimer; privatePlaneDemopd; publicvoidsetPD(PlaneDemopd){ this.pd=pd; } publicvoidsetTimer(Timertimer){ this.timer=timer; } publicPlane(intx,inty,intwidth,intheight,StringimageName, booleanflag,intscore){ this.x=

  • 设计模式之代理模式

    代理模式(Proxy),其含义是为其他对象提供一种代理以控制对这个对象的访问。对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。当客户向Proxy对象第一次提出请求时,proxy实例化真实的对象,并且将请求传给它,以后所有的客户请求都经由proxy传给封装了的真实对象。 其适用性: 远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表, 虚代理(VirtualProxy)根据需要创建开销很大的对象, 保护代理(ProtectionProxy)控制对原始对象的访问。保护代理用于对象应该有不同的访问权限的时候, 智能代理(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作,它的典型用途包括:对指向实际对象的引用计数,这样当该对象没有引用时,可以自动释放它,当第一次引用一个持久对象时,将它装入内存,在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。 下面是结构图:           由上面可以

  • Typescript中的泛型的作用及使用场景

    什么是TypeScript TypeScript是由MicrosoftCorporation开发和维护的面向对象的编程语言。它是JavaScript的超集,包含所有元素。 TypeScript完全遵循OOPS概念,在TSC(TypeScript编译器)的帮助下,我们可以将Typescript代码(.ts文件)转换为JavaScript(.js文件)。 为什么要使用TypeScript TypeScript的设计目的应该是解决JavaScript的“痛点”:弱类型和没有命名空间,导致很难模块化,不适合开发大型程序。另外它还提供了一些语法糖来帮助大家更方便地实践面向对象的编程。 TypeScript简化了JavaScript代码,使其更易于阅读和调试。 TypeScript是开源的。 TypeScript为JavaScriptIDE和实践提供了高效的开发工具,例如静态检查。 使用TypeScript,我们可以比普通的JavaScript做出巨大的改进。 TypeScript为我们提供了ES6(ECMAScript6)的所有优点,以及更高的工作效率。 Ty

  • 团队作业1

    1.介绍团队情况: 队名:今年大三,明年大四队 队员: 丁艺朔 http://www.cnblogs.com/dys123hahabalala      秦文http://www.cnblogs.com/896702797-qw/      于悦 http://www.cnblogs.com/yuyue1216/        邵楠http://www.cnblogs.com/shaomeifu/     韦艺琳 http://www.cnblogs.com/yilinwei/ 队训:永远十八岁!   2.介绍项目情况: 项目名称:耿丹信息管理系统 总体任务:创建一个简单实用美观的耿丹师生信息管理系统 成员分工:     秦文:前期规划需求分析窗体搭建     于悦丁艺朔:窗体搭建部分编码     邵楠韦艺琳:数据库部分编写      3.NA

  • 【maven】修改自定义仓库位置

    修改settings.xml文件,把自定义目录配置上去。   有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。

  • 参考阿里规范,优秀的 Java 项目代码该如何分层?

    1.背景 说起应用分层,大部分人都会认为这个不是很简单嘛就controller,service,mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。2021Java面试宝典 的确在这些人眼中分层只是一个形式,前辈们的代码这么写的,其他项目代码这么写的,那么我也这么跟着写。但是在真正的团队开发中每个人的习惯都不同,写出来的代码必然带着自己的标签,有的人习惯controller写大量的业务逻辑,有的人习惯在service中之间调用远程服务,这样就导致了每个人的开发代码风格完全不同,后续其他人修改的时候,一看,我靠这个人写的代码和我平常的习惯完全不同,修改的时候到底是按着自己以前的习惯改,还是跟着前辈们走,这又是个艰难的选择,选择一旦有偏差,你的后辈又维护你的代码的时候,恐怕就要骂人了。 所以一个好的应用分层需要具备以下几点:

  • Windbg简单介绍

    1.1使用帮助 Windbg中的命令分为三种:基本命令、元命令和扩展命令。基本命令和元命令都是调试器自带的,元命令以“.”开头。 扩展命令是外部加入的,以“!”开头。 .help[/D] 查询所有的元命令.参数/D以DML格式显示 ? 查询基本命令 扩展命令是从动态链接库中暴露出来的,一般以DLL文件名代表一类扩展命令集。 .chain[/D] 列出扩展命令集的链表 [图片chain] windbg自带的扩展模块:dbghelp、ext、wow64exts、exts、uext、ntsdexts。 !模块.help 查询模块中的命令 1.2DML DML(DebuggerMarkupLanguage调试标记语言)像HTML一样,可从一处链接到一处。 .dml_start 显示DML格式帮助文档 [图片dml_start] .prefer_dml1默认开启DML .prefer_dml0默认关闭DML 1.3基本信息 version显示操作系统的版本信息及Windbg本身的版本信息 |列出可调试对象的列表 在多个对象间切换可以使用|编号s .time查询时间 1.4基本设置 .cls清屏

  • 各种基本算法实现小结(三)—— 树与二叉树

    各种基本算法实现小结(三)——树与二叉树 (均已测试通过) =================================================================== 二叉树——先序 测试环境:VS2010   1#include<stdio.h> 2#include<malloc.h> 3#include<stdlib.h> 4struct_node 5{ 6chardata; 7struct_node*lchild; 8struct_node*rchild; 9}; 10typedefstruct_nodenode,*pnode; 11pnodecreate_tree() 12{ 13pnodept; 14chardata; 15scanf("%c",&data); 16getchar(); 17if(data=='') 18pt=NULL; 19else 20{ 21pt=(pnode)malloc(sizeof(node)); 22pt->data=data; 23pt->lchil

相关推荐

推荐阅读