当前位置: 首页 > news >正文

python 字符转义_从零开始学习python(2)——字符串基础

字符串

Python中可以有三种方式表达字符串:单引号,双引号,三引号

在Python中一下代码是完全相同的

print("I love Python")print('I love Python')

但是为什么Python要提供两种实现方式呢?这是不是多此一举了,事实上不是的,我们看看下面这一行程序:

 print('Let's go!')

运行这条语句会发生报错,我们在使用单引号或者双引号来表示字符串的时候,一定要注意文本两端的引号必须是成双成对的,否则就会像上面一样发生报错。Python会将Let当作字符串,而s go!会被当作无头的字符串,所以编译器就会发生报错。

当我们将程序用双引号括起来时,这个问题就会被解决了,同样的当字符串里面有双引号的情况也可以这样处理

print("Let's go!")

那么,但这样,脑洞大开的同学就会说了,那我字符串里面既有单引号又有双引号应该怎么呢?这时候,我们通常会采用加一个转义字符的方法来实现:

 print('"I love Python, Let's go!"')

这样我们就不需要关心外面使用的是单引号还是双引号了。

关于常用的转义字符我也在下面列了一个表格:

4e7dde92-7113-eb11-8da9-e4434bdf6706.png

提到转义字符就不得不提到Python的原始字符串,我们先来看一段代码再来说说什么时候会使用到原始字符串。

 print("C:onewohree")

我们可以猜到这一行代码的意图是想打印C:onewohree这样一个文件路径,运行程序后我们来看一下效果。

C:one wo hree

嗯?为什么会这样呢?稍加思考我们就会发现Windows的路径是以反斜杠为分隔符的,但是Python在这里会认为反斜杠加上一些特定的字符就是一个转义字符,所以由于的存在,程序在它的位置打印了两个制表符(TAB)。为了解决上面的问题也很简单,我们用反斜杠来将反斜杠给转义出来就好了,好比这样:

 print("C:onewohree")

这样就能够正常的将路径给显示出来。但是,如果一个路径特别的长呢?一个一个的加反斜杠就显得太过于繁琐了,这时候使用原始字符串就能够非常轻松的解决这个问题了,原始字符串的使用也很简单,在字符串的前面加上一个r即可。程序如下:

print(r"C:onewohree")

然而,这里有一个需要注意的是,反斜杠不能够放在末尾,如果放在末尾代表这段代码还没完儿,如果直接运行编译器是会报错的。

507dde92-7113-eb11-8da9-e4434bdf6706.png

对于反斜杠放于末尾的情况一般是这样的:

517dde92-7113-eb11-8da9-e4434bdf6706.png

如果上面这段代码没有在后面加反斜杠,编译器是会报错的:

527dde92-7113-eb11-8da9-e4434bdf6706.png

长字符串

长字符串主要是为了实现“跨行字符串”,我们之前是通过在末尾加反斜杠来实现字符串的跨行的,但是使用长字符串就不需要在每一行的后面加一个反斜杠了,我们可以使用三引号来表明这是一个长字符串,这里使用单引号"和双引号'都是可以的,只要前后一致就行。

537dde92-7113-eb11-8da9-e4434bdf6706.png

字符串的运算

与数字一样,字符串也可以进行运算的,不过字符串只可以做加法和乘法。

字符串的加法:

567dde92-7113-eb11-8da9-e4434bdf6706.png

两个字符串的相加与数字的加法是不同的,它其实将两个字符串拼接起来,组成一个新的字符串。

字符串的乘法:

577dde92-7113-eb11-8da9-e4434bdf6706.png

字符串的乘法是只能与数字相乘的,实现的功能就是将字符串乘以相应的倍数。

以上即是字符串内容的简单入门,后面会对字符串进行更详细的介绍,由于本人也还在学习中,如有不对还请指出。

相关文章:

  • 初识安全测试
  • tensorflow 迁移学习_中文学习资源:斯坦福大学CS231n计算机视觉课程
  • css3动画效果
  • excel打不开怎么修复_遇到MP4视频打不开应该怎么做
  • py遍历字符串的每个字符_Python超详细的字符串用法大全
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • 删除后别人的微信号变成wxid_腾讯开放微信号修改,一年一次,方法简单
  • Python之装饰器
  • t420i升级固态硬盘提升_老主机升级东芝RC500 NVMe固态硬盘,性能提升有多少?
  • 使用决策树预测隐形眼镜类型
  • 致远a8-v5-6.0协同管理软件_易达酒吧管理软件下载-易达酒吧管理软件v10.0免费版...
  • 如何让你产品的用户拥有一流的上传体验
  • fedora如何隐藏顶部状态栏_装修冷知识 厨房管道怎么隐藏?
  • 感悟
  • 2020cf自动准备怎么用_天天都在用的转向灯是怎么自动回位的?
  • 自己简单写的 事件订阅机制
  • @angular/forms 源码解析之双向绑定
  • [nginx文档翻译系列] 控制nginx
  • CAP理论的例子讲解
  • C学习-枚举(九)
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • EOS是什么
  • PAT A1092
  • Quartz初级教程
  • SOFAMosn配置模型
  • vuex 笔记整理
  • 阿里云前端周刊 - 第 26 期
  • 订阅Forge Viewer所有的事件
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 入门到放弃node系列之Hello Word篇
  • 使用docker-compose进行多节点部署
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #Lua:Lua调用C++生成的DLL库
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #考研#计算机文化知识1(局域网及网络互联)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (差分)胡桃爱原石
  • (五)网络优化与超参数选择--九五小庞
  • (一)WLAN定义和基本架构转
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(六):替换字符串中匹配的子串
  • .net core 6 集成和使用 mongodb
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 生成二级域名
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET开发不可不知、不可不用的辅助类(一)
  • .so文件(linux系统)
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @Validated和@Valid校验参数区别
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ solr入门 ] - 利用solrJ进行检索
  • [20171113]修改表结构删除列相关问题4.txt