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

12. 转义字符及print函数的参数

12. 转义字符及print函数的参数

文章目录

  • 12. 转义字符及print函数的参数
    • 1. 什么是转义字符
    • 2. 转义字符语法
    • 3. `\'` 表示输入引号
    • 4. \n 表示换行
      • 4.1 print函数的参数
        • 1. value:要输出的值,可以是字符串、整数、浮点数等各种类型的变量。
        • 2. ... 值列表,表示可以一次性打印多个值,值与值直接用英文逗号分隔,打印出来的值之间默认用空格隔开。
        • 3. sep 表示值与值之间的分隔符,默认是一个空格,也可以自己设置成其他的分隔符。
        • 4. end 设定输出语句以什么结尾,默认是换行符`\n`结尾,即输出后会重新起一行。
        • 5. file 表示要输出的目标对象,后面学到再讲解。
        • 6. flush 表示是否立刻将输出语句输出到目标对象。默认flush = False,表示输出值会保存在缓存中。当flush=True时,输出值强制写入文件。不用掌握,先了解即可。
    • 5. \b 表示退格
    • 6. 课堂练习
    • 7. 总结

1. 什么是转义字符

转义字符,就是通过改变字符原本的含义,达到在字符串中插入某些特殊字符或实现某些特殊功能的作用。

【部分特殊字符】

  1. 在字符串中插入引号。
  2. 在字符串中插入反斜杠。

【部分特殊功能】

  1. 退格
  2. 换行
  3. 回车

2. 转义字符语法

转义字符由2部分组成:

1.\反斜杠
2.具有转义功能的首字母

【反斜杠的输入】

在这里插入图片描述

【具有转义功能的字符】

在这里插入图片描述

【备注】图片来源于风变编程。

3. \' 表示输入引号

在print( )输出函数语法讲解中,我们说过如果输出的内容里含有单引号',则print( )函数括号内必须使用双引号或三引号。

# 输出内容Let's 里有单引号,print()函数里还用单引号,程序就会报错
print('Let's go home!')

【终端输出】

    print('Let's go home!')
               ^
SyntaxError: invalid syntax

运行程序后提示invalid syntax即无效语法。

invalid[ɪnˈvælɪd]:无效的,不成立的。
syntax [ˈsɪntæks]:语句、语法。

# 输出的内容Let's里有单引号可以使用双引号输出
print("Let's go home!")

【终端输出】

Let's go home!
# 输出的内容Let's里有单引号可以使用三引号输出
print('''Let's go home!''')

【终端输出】

Let's go home!

三引号是三个单引号,不可以输入一个单引号加一个双引号。

除了使用双引号、三引号我们也可以利用转义字符\'实现单引号的输入。

【代码示例】

print('Let\'s go home!')

【终端输出】

Let's go home!

在这里插入图片描述

通过一个反斜杠+单引号就可以实现在字符串中直接输入一个单引号。

4. \n 表示换行

n是newline的首字母。

newline[n’ju:laɪn]:新行。

【代码示例】

print("张三李四")

【终端输出】

张三李四

上述代码中没有\n,因此输出的张三李四在同一行。

print("张三\n李四")

【终端输出】

张三
李四

张三后加一个\n,意思是\n后面的内容另起一行。
因此李四在第二行。

print("张三\n李四\n王五")

【终端输出】

张三
李四
王五

\n的作用就是开始新的一行。

print("张三")
print("李四")

【终端输出】

张三
李四

4.1 print函数的参数

print(value,, sep=' ', end='\n', file=sys.stdout, flush=False)

一个完整的print()函数其实有5个参数:

1. value:要输出的值,可以是字符串、整数、浮点数等各种类型的变量。

print(520)

【终端输出】

520

520就是要输出的值。

2. … 值列表,表示可以一次性打印多个值,值与值直接用英文逗号分隔,打印出来的值之间默认用空格隔开。

print(2020,8,14)

【终端输出】

2020 8 14

这里一次性输出了3个值。
代码中20208之间用英文逗号分隔,814之间用英文逗号分隔。
输出的结果中20208之间有一个空格,814之间有一个空格。

3. sep 表示值与值之间的分隔符,默认是一个空格,也可以自己设置成其他的分隔符。

【不设置sep参数,则默认空格】

print(2020,8,14)

【终端输出】

2020 8 14

没有设置sep参数,因此输出的三个值之间默认以空格分隔。

【设置sep参数为英文冒号】

print(2020,8,14,sep = ":")

【终端输出】

2020:8:14

设置sep参数为英文冒号,因此输出的三个值之间以英文冒号分隔。

【设置sep参数为英文感叹号】

print(2020,8,14,sep = "!")

【终端输出】

2020!8!14

设置sep参数为英文感叹号,因此输出的三个值之间以英文感叹号分隔。

【温馨提示】分隔符前后必须有引号,否则程序报错。

【错误示例】

print(2020,8,14,sep = /)

【终端输出】

    print(2020,8,14,sep = /)
                          ^
SyntaxError: invalid syntax

sep = /中的/前后没有引号,程序报错!

invalid syntax:无效语法。

invalid [ɪnˈvælɪd]:无效的。
syntax [ˈsɪntæks]:语法。

4. end 设定输出语句以什么结尾,默认是换行符\n结尾,即输出后会重新起一行。

【默认换行】

print("张三")
print("李四")

【终端输出】

张三
李四

这是我们最常用的,用print连续实现多个输出。
第二个输出李四之所以会在第二行,是因为每个print函数都默认以end='\n'结尾,即以换行结尾。

【修改end参数】

print("张三",end="R")
print("李四",end="!")

【终端输出】

张三R李四!

这里我修改了第一个print函数的end参数为R,因此第二个输出李四不会在第二行,而是紧跟在R之后;
修改了第二个print函数的end参数为!,因此第二个输出李四后会紧跟一个!

print("张三","\n")
print("李四")

【终端输出】

张三 

李四

这里我又添加了一个\n,观察输出结果,张三李四之间多了一个空行。
\n的作用是新起一行,类似回车的作用。
第一个print函数默认有end='\n',已经有一个换行了,在多加一个'\n',就有2个换行,因此张三李四之间多出了一个空行。

print("张三\n")
print("李四")

【终端输出】

张三

李四

观察上述代码,这里的张三是字符串类型,
"\n"放在引号里,也是字符串类型,
字符串之间可以进行拼接,
因此也可以不写中间的引号,把字符串张三\n直接放在一个引号里。

5. file 表示要输出的目标对象,后面学到再讲解。

6. flush 表示是否立刻将输出语句输出到目标对象。默认flush = False,表示输出值会保存在缓存中。当flush=True时,输出值强制写入文件。不用掌握,先了解即可。

5. \b 表示退格

print("张三\b李四\b王五")

【终端输出】

张李王五

\b表示往前退一格,即删除前一个字符。
运行上述代码,程序删除了字符

b是backspace的首字母。

backspace [ˈbakspeɪs]:退格键。

6. 课堂练习

运行下面的代码,观察输出结果,想一想李四王五前为什么会有一个空格?

print("张三",'\n','李四','\n','王五')

【终端输出】

张三 
 李四 
 王五

上述代码中的'\n'实现了换行的功能。
但我们没有设置print函数的sep参数,因此值与值之间默认会有一个空格作为分隔符。

设置sep参数,取消输出结果李四王五前的空格:

【参考答案】

print("张三",'\n','李四','\n','王五',sep = "")

【终端输出】

张三
李四
王五

答案很简单,我们只需要将sep参数即值之间的间隔设置为空即可。
输入一个sep,然后输入一个=等于符号,再输入一对引号即可,注意引号中不能输入空格。

7. 总结

在这里插入图片描述

相关文章:

  • 13. Python数据类型之布尔类型
  • 14. 加减乘除 取整 取余 幂运算
  • velocyto.R安装失败
  • 15. Python 赋值运算
  • Windows环境下Boost的安装
  • 16. Python 比较运算
  • cmd命令行下怎么切换目录 命令行改变目录
  • 17. Python 逻辑运算
  • 2_velocyto.R包 docker容器的安装 使用docker来安装velocyto
  • 1-使用华为云的ubuntu系统安装docker Linux安装docker安装 国内安装有时候很慢 最好翻墙安装
  • 18. Python input( )输入函数
  • 19. input( )输入函数课后练习
  • Ubuntu 安装 conda
  • 20. 控制流及单分支结构if语句
  • 21. python if else 条件判断语句
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 《深入 React 技术栈》
  • 【译】理解JavaScript:new 关键字
  • 07.Android之多媒体问题
  • 2017年终总结、随想
  • angular2开源库收集
  • JavaScript 基础知识 - 入门篇(一)
  • Javascript基础之Array数组API
  • php面试题 汇集2
  • Python socket服务器端、客户端传送信息
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Rancher如何对接Ceph-RBD块存储
  • session共享问题解决方案
  • 大快搜索数据爬虫技术实例安装教学篇
  • 分布式事物理论与实践
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 技术:超级实用的电脑小技巧
  • 理清楚Vue的结构
  • 七牛云假注销小指南
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 思否第一天
  • 思维导图—你不知道的JavaScript中卷
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #pragam once 和 #ifndef 预编译头
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (二)Linux——Linux常用指令
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (论文阅读30/100)Convolutional Pose Machines
  • (区间dp) (经典例题) 石子合并
  • (三分钟)速览传统边缘检测算子
  • (算法)Travel Information Center
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转载)虚函数剖析
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .Net 中Partitioner static与dynamic的性能对比