python中转义符的用法_Python——转义符的使用及实例

转义符\

先上目录,1. 转义符的作用及常见转义符介绍

2. 转义符\r的使用(实例介绍)

转义符\r和Python中的end函数的连用

3. 转义符\n的使用(实例介绍)

4. 实例—单行展示文本进度条

1. 转义符的作用及常见转义符介绍

表达特定字符的本意,如双引号前有转义符,则不是字符串的表示方法了,而就是双引号

转义符可以形成一些组合,表达一些不可打印的含义

\b回退(使当前光标向前回退一个位置)

\n换行(光标移动到下行首)

\r回车(光标移动到本行首)

需要注意的是,IDLE本身是一个编写程序的开发环境,它并不是程序运行的主要环境。由于IDLE被设定为开发环境,为了保证其中参数的运行的一个效果,会屏蔽掉\r这个功能。即\r在IDLE中没有特定功能。

3.下面是转义符在pycharm中实现的一些实例:

2.实例:转义符\r的使用test1:

for i in range(5):

print(i) #print()函数默认输出一个结果后就换行

print("\r你好!我是Python!") #在还未输出字符串之前,将光标移动到本行首,和不加\r结果一样

print("你好!\r我是Python!") #在输出"你好!"之后,再将\r移至本行首,这样子新输出的"我是Python!"将覆盖原来的"你好!"

print("你好!我是Python!\r") #在输出完整的字符串"你好!我是Python!"之后,这时已经发生了换行,再使用\r只是下一行移至行首

>>输出

0

1

2

3

4

你好!我是Python!

我是Python!

你好!我是Python!

转义符\r和Python中的end函数的连用:end=””表示输出结果后不换行,比如在一些循环语句,连续输出不换行的结果;

简单来说,就是如果你希望在输出的字符串后增加什么信息,你就在end参数中增加;如果你不希望增加换行,那么就将end参数赋值为空字符串。test1:

for i in range(3):

print(i) #默认换行

>>输出

0

1

2test2:

for i in range(3):

print(i,end="") # #输出一个结果后不换行

>>输出

012test3:

for i in range(3):

print(i,end="*") #输出一个结果后不换行,并以*结尾

>>输出

0*1*2*test4:\r和end函数的连用

for i in range(3):

print(i,end="\r*")

#首先注意:\r是个字符串,要放在引号里;

#还要注意:"i\r"这样表达是错误的,i是个变量,不用加"" ,要把\r在end变量中加

#带end就表示输出字符串后不换行,

#输出"0"后,光标移到本行行首,再输出*,

#然后输出"1"后,此时是"*1",然后光标移到本行行首,再输出*,

#然后输出"2"后,此时是"*2",然后光标移到本行行首,再输出*,

>>输出

*test5:

for i in range(3):

print(i,end="*\r") #输出1*,光标转到本行行首,覆盖前面内容,在输出2*

>>输出

2*

3. 实例:转义符\n的使用——注意观察不同例子中\n的位置test1:

scale=10

print("\n执行结束".center(scale+2,"-"))

#"执行结束"被当做一个字符串,利用center函数变成"---执行结束---"这样子,因为\n是

#在"执行结束"的前面,所以先输出---,然后遇到\n,换行输出执行结束---

>>输出

---

执行结束----test2:

scale=10

print("\n"+"执行结束".center(scale+2,"-"))

#"执行结束"被当做一个字符串,利用center函数变成"---执行结束---"这样子,

# 然后利用+进行字符串联结,变成"\n---执行结束---"这样,从\n开始 执行,即先换行在输出字符串

>>输出

----执行结束----

4. 实例:单行展示文本进度条

做一个文本进度条,每次有进度不换行,只是不断地进行本行刷新:用后打印的字符覆盖之前的字符;为了实现单行动态刷新,就需要要求我们的程序在输出某一个字符的字符串的时候,不能够换行到下一行,因为换到下一行后,之前的信息不能够被修改。

使用转义符 \r(光标移动到本行首)

import time

scale=10

print("执行开始".center(scale+2,"-"))

start=time.perf_counter()

for i in range(scale+1):

a="*"*i

b="."*(scale-i)

c=(i/scale)*100

dur=start=time.perf_counter()-start

print("\r{:<3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")

# 含义:我要输出一个字符串,但是输出之前呢,你要把光标放到行的行首;

# 然后你再输出,输出之后呢你也不要换行;(考虑界面太小,把解释分两行写啦)

# 下一次循环再输出的时候光标还要回到行首

time.sleep(0.1)

print("\n"+"执行结束".center(scale+2,"-"))

>>输出

----执行开始----

100%[**********->]0.50s

----执行结束----

好啦,如果以后有新的发现会继续补充~~

各位看到的小伙伴,如果觉得有用,可不可以点个赞,蟹蟹蟹蟹~你们的喜欢是我坚持的动力!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值