一、转义字符
- 用一个方法表达出不方便显示的内容,如回车、换行符等等
- 一般用反斜杠表示其后面的的字符转义
- 不同系统对换行转义有不停表示:
Windows:\n
Linux:\r\n - python中常用的转义字符:
(在行尾时) 续行符
\ 反斜杠符号
’ 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
s = 'I\'m Liyu' #这里字符串用单引号引用,但I'm中也有单引号,使用\转义I后面单引号
print(s)
s = "I'm Liyu" #可以使用单双引号嵌套,结果不变
print(s)
#表示斜杠,如想表示C:\User\photo
s = "C:\\User\\photo"
print(s)
#回车换行
s = "Ich\nLiebe\nLiyu"
print(s)
'''结果就为:
Iche
Liebe
Liyu
'''
#单个反斜杠,,表示此行未结束,但是为了美观,在下行继续
def Nothing(x, \
y, \
z):
print(x + y +z)
二、格式化
将字符串按照一定格式进行打印或者填充
1.传统格式化
- 用%进行格式化
- %(百分号)也叫占位符
- %s 字符串
%r 字符串,采用repr()的显示
%c 单个字符
%d 十进整数
%i 十进整数,同%d
%o 八进整数
%x 十六进整数
%e 指数,基底为e
%E 指数,基底为E
%f 浮点型
%F 浮点型,同%f
%g 指数e或浮点型,根据显示长度决定
%G 指数E或浮点型,根据显示长度决定
作者:coberup
来源:CSDN
原文:https://blog.csdn.net/coberup/article/details/82856910
版权声明:本文为博主原创文章,转载请附上博文链接!
ly = "%s is a cruel killer"
print(ly%"Liyu") #结果为 Liyu is a cruel killer
print(ly) #结果为 %s is a cruel killer
print("%s is a cruel killer"%"Liyu") #结果同上
#占位符一般只能被同类型替换,或替换类型能被转换成占位符的类型
ly = "I'm %d years old"
print(ly%20) #结果为 I'm 20 years old
print(ly%"二十") #报错
#多个格式为
ly = "I'm %f kg, and %f m"
print(ly%(75, 1.8)) #用小括号括起来,结果为I'm 75.000000 kg, and 1.800000 m
ly = "I'm %.2f kg, and %.2f m" #%后加.x表示小数点后面几位数
print(ly%(75, 1.8)) #结果为I'm 75.00 kg, and 1.80 m
2.format
-指定位置,顺序读取
#方式一
l = "{} {} {} {} {}"
print(l.format("Liyu", "is", "a", "handsome", "boy"))
#方式二
l = "{} {} {} {} {}".format("Liyu", "is", "a", "handsome", "boy")
print(l)
#结果都为Liyu is a handsome boy
- 设置指定位置
#参数从0开始,formant中是从0开始的参数,将其替换在左边大括号里面的数
l = "{0} is a cruel killer, but {1} is a merciful believer".format("HuangJunhua", "Liyu")
print(l) #HuangJunhua is a cruel killer, but Liyu is a merciful believer
l = "{0} is a cruel killer, but {1} is a merciful believer".format("Liyu", "Huangjunhua")
print(l) #Liyu is a cruel killer, but Huangjunhua is a merciful believer
- 使用命名位置
#
cxk = "{who}大家好,我是练习时长{time}的个人练习生{name},喜欢{sing}、{dance}、{rap}、{basketball},{music}……"
print(cxk.format(who="全面制作人们", time="两年半", name="蔡徐坤", sing="唱", dance="跳", rap="rap", basketball="篮球", music="musci"))
#通过字典设置参数,需要解包
cxk = "{who}大家好,我是练习时长{time}的个人练习生{name},喜欢{sing}、{dance}、{rap}、{basketball},{music}……"
cxk_dic = {"who":"全面制作人们",\
"time":"两年半",\
"name":"蔡徐坤",\
"sing":"唱",\
"dance":"跳",\
"rap":"rap",\
"basketball":"篮球",\
"music":"musci"}
print(cxk.format(**cxk_dic)) #两个**
- 对数字格式化
l = "Liyu is {:.2f} m, and {:.2f} kg"
print(l.format(1.8, 75))
#结果为Liyu is 1.80 m, and 75.00 kg