Python字符串

字符串的学习:

%号的使用

字符串的关键字转义

format的使用

基本转换环节

浮点类型的显示


%号的使用

首先我们可以了解到%号是作为转义 也就是将字符串内包含的%s用于转换为后面需要替代的内容
正常使用情况下
tmpl = "Hello,%s.I use %s"
change_str = ("python","it")
tmpl % change_str
输出
Hello,python.I use it 这个字符串可以赋值 不然是不存在于任何变量的
遇到的问题 如果change_str 用list的形式去%转换的话解释器会报错
TypeError: not enough arguments for format string
最后在这个blog下找到答案
(1)如果使用列表或者其他序列代替元组,那么序列就会被解释成一个值。只有元组和字典可以格式化一个以上的值。
所以在才需要格式化两个值时最好是采用元组或者字典的形式。
(2)如果要在格式化字符串里面包括百分号,那么必须使用%%,这样Python就不会将百分号误认为是转换说明符了。


字符串的关键字转义

 需要从string包里面导入Template

from string import Template
tmpl = Template("Hello,$who,$what do you like?")
tmpl.substitute(who="Python",what="that")


format的使用

上几个个比较有意思的例子即可
"{foo} {1} {bar} {0}".format(1,2,bar=4,foo=3)
输出3 2 4 1,括号内的1是作为index索引到后面元组的2的参数值,如果{}内不添加索引则默认从小到大开始


同时发现一个很有意思的现象


"{foo},{2},{4}".format("y","z", "u","m","x",foo ="1")
输出'1,u,x'
在编写的时候如果foo这个关键字替换放在前面或者中间 Python解释器会报错
"{foo},{2},{4}".format(foo =1,'y','z', 'u','m')
SyntaxError: positional argument follows keyword argument
所以关键字参数应该是放置在最后面的
所以换到最后
"{foo},{2},{4}".format('y','z', 'u','m','x',foo =1)
输出'1,u,x'正常 
还有 foo=1 不能用于做为引用量 
"{foo},{2},{4}".format("y","z", "u","m",foo ="1")
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    "{foo},{2},{4}".format("y","z", "u","m",foo ="1")
IndexError: tuple index out of range


基本转换环节 

print("{pi!s} {pi!r} {pi!a}".format(pi = "π"))
π 'π' '\u03c0'
分别对应str repr ascii转换


浮点类型的显示

from math import pi
>>> "{pi:10.2f}".format(pi = pi)
'      3.14'
首先前面的10是开辟了一个10个字符大小的空间显示,然后后面.2是用于显示精度的
其中有一个要点,字符串和数字的对齐方式是不同的,数对齐默认在最后面
字符串是在最前面开始显示的
我们可以自己进行设置对齐方式采用<、>、^三个符号
 print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(pi))
3.14      
   3.14   
      3.14


表示从0开始至10然后依次选择对齐方式即可。
其中还可以用
"{:#x}".format(42)
'0x2a' 
加#号把16进制等格式表示出来 类似于C语言下printf("%#x",42).同样显示



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值