六、初识python-string(课时17-18)

一、转义字符

  • 用一个方法表达出不方便显示的内容,如回车、换行符等等
  • 一般用反斜杠表示其后面的的字符转义
  • 不同系统对换行转义有不停表示:
    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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值