
转义符
先上目录,
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
2
- test2:
for i in range(3):
print(i,end="") # #输出一个结果后不换行
>>输出
012
- test3:
for i in range(3):
print(i,end="*") #输出一个结果后不换行,并以*结尾
>>输出
0*1*2*
- test4:r和end函数的连用
for i in range(3):
print(i,end="r*")
#首先注意:r是个字符串,要放在引号里;
#还要注意:"ir"这样表达是错误的,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
----执行结束----
好啦,如果以后有新的发现会继续补充~~
各位看到的小伙伴,如果觉得有用,可不可以点个赞,蟹蟹蟹蟹~你们的喜欢是我坚持的动力!!
