鱼C论坛

 找回密码
 立即注册
查看: 1424|回复: 0

[技术交流] 《零基础入门学习python》第十五讲笔记:字符串:格式化

[复制链接]
发表于 2017-7-30 22:18:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bozhen 于 2017-7-30 22:27 编辑
>>> "{0} love {1}.{2}".format("I","FishC","com")   # 位置参数
'I love FishC.com'
>>> "{a} love {b}.{c}".format("I","FishC","com")  # 前面用关键字参数,但后面没指定就会报错
Traceback (most recent call last):
  File "<pyshell#89>", line 1, in <module>
    "{a} love {b}.{c}".format("I","FishC","com")
KeyError: 'a'
>>> "{a} love {b}.{c}".format(a="I",b="FishC",c="com")   # 关键字参数
'I love FishC.com'
>>> "{0} love {b}.{c}".format("I",b="FishC",c="com")  # 取消a关键字参数,换为顺序参数,b c 依旧是关键字参数
'I love FishC.com'
>>> "{a} love {b}.{0}".format(a="I",b="FishC","com")  # 像这种混合情况,顺序参数在关键字参数后面就会报错
SyntaxError: non-keyword arg after keyword arg (<pyshell#92>, line 1)
>>> '\ta'
'\ta'
>>> print('\ta')   # \t是一个tab键,只有print的时候才显示出来
    a
>>> print('\\')   # 打印一个\ ,前面那个反斜杠是脱义
\
>>> "{{0}}".format("不打印")  # 两层花括号表示花括号被解释掉了
'{0}'
>>> '{0:.1f}{1}'.format(27.658,'GB')   #  :表示格式化符号的开始  .1表示保留一位小数点,f表示定点数(打印小数)
'27.7GB'
字符串格式化符号含义:
%c    格式化字符及其ASCII码
%s    格式化字符串
%d    格式化整数
%o      格式化无符号八进制数
%x     格式化无符号十六进制数
%X      格式化无符号十六进制数(大写)
%f      格式化定点数,可指定小数点后的精度
%e      用科学计数法格式化定点数
%E      作用同%e, 用科学计数法格式化定点数
%g      根据值的大小决定使用%f或者%e
%G      根据值的大小决定使用%F或者%E
>>> '%c'  % 97   # 格式化ASCII , a 的ASCII是97
'a'
>>> '%c %c %c' % (97,98,99)
'a b c'
>>> '%s' % 'I love FishC.com'   # 字符串格式化成字符串没意义
'I love FishC.com'
>>> '%d + %d = %d' % (4,5,4+5)   # 格式化成整数
'4 + 5 = 9'
>>> '%o' % 10   # 格式化成八进制数
'12'
>>> '%x'  % 10  # 格式化成小写十六进制数
'a'
>>> '%X'  % 10  #格式化成大写十六进制数
'A'
>>> '%X'  % 160
'A0'
>>> '%f'  % 27.658   # %f ,默认精度小数点后6位数,不足用0补充
'27.658000'
>>> '%e'  % 27.658  # %e,科学计数法,保留一位整数,后面都是小数,e+01 ,表示10的1次方
'2.765800e+01'
>>> '%E'  % 27.658   # 同上,只不过把e换成E
'2.765800E+01'
>>> '%g'  % 27.658
'27.658'



格式化操作符辅助指令:
符号        说明
m,n         m是显示的最小总宽度,n是小数点后的位数
-              用于左对齐
+             在正数前面显示加号(+)
#              在八进制前面显示零('0o'),在十六进制数前面显示'0x' 或 '0X'
0              显示的数字前面填充'0' 取代空格
>>> '%5.1f'  % 27.658  # 5显示总的占位符,不够用空格填充, .1表示1位小数
' 27.7'
>>> '%.2e'  % 27.658  # 可以省略前面的m
'2.77e+01'
>>> '%10d'  % 5  # 10 等同于上面的m ,5前面9个空格显示总的占位符
'         5'
>>> '%-10d'  % 5  # - 用于左对齐
'5         '
>>> '%+d'  % 5  
'+5'
>>> '%+d'  % -5
'-5'
>>> '%#o' % 10  # 10是默认十进制,用0o表示八进制 
'0o12'
>>> '%#X' % 108   # 用0X 表示十六进制
'0X6C'
>>> '%#d' % 108  #  十进制前面就啥也不加
'108'
>>> '%010d' % 5  # 用0填充
'0000000005'
>>> '%-010d' % 5 # -是左对齐,默认就还是空格填充
'5         '


字符串转义字符含义
符号    说明
\'         单引号
\''        双引号
\a        发出系统响铃声
\b        退格符
\n        换行符
\t         横向制表符(TAB)
\v         纵向制表符
\r          回车符
\f          换页符
\o         八进制数代表的字符
\x          十六进制数代表的字符
\0          表示一个空字符
\\           反斜杠

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 14:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表