美文网首页
python字符串格式化输出

python字符串格式化输出

作者: MoraGG | 来源:发表于2017-07-10 22:05 被阅读0次

    在python2中一直使用形如: “%s ....  %d” % (str, ... , intNum)格式化字符串的。这是python从C系列借鉴过来的语法,但是这种语法对于C这种静态语言足够快足够好,但是对于拥有很多先进数据结构的python来说就有点心有余来力不足了。为什么这么说呢?python的几把利刃:元组,列表,字典,集合等不适合用这种结构表示,这些利刃大多元素用下标表示,在这种结构中写出来很丑陋,不信你试试。

    不管怎么样,这种表示方法还是必须掌握的,大多数情况下表示起来还是特别快速的。

    字符串格式化代码:

    格式描述

    %% 百分号标记

    %c 字符及其ASCII码

    %s 字符串

    %d 有符号整数(十进制)

    %u 无符号整数(十进制)

    %o 无符号整数(八进制)

    %x 无符号整数(十六进制)

    %X 无符号整数(十六进制大写字符)

    %e 浮点数字(科学计数法)

    %E 浮点数字(科学计数法,用E代替e)

    %f 浮点数字(用小数点符号)

    %g 浮点数字(根据值的大小采用%e或%f)

    %G 浮点数字(类似于%g)

    %p 指针(用十六进制打印值的内存地址)

    %n 存储输出字符的数量放进参数列表的下一个变量中

    看着这么的多格式,其实常用的也就那么几个,总结一些只需要记住: %d, %s, %f就OK了,其实等需要用的时候查找就可以了,毕竟我们大脑的资源是很宝贵的,可不能全用来记这些死板的东西

    再来看看《Python基础编程》中对格式化输出的总结:

    (1) %字符:标记转换说明符的开始

    (2) 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充

    (3) 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

    (4) 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出。

    下面来看看python3主打的格式化函数format().

    字符串的format函数可以通过以下几个方式灵活的完成字符串格式化:

    1. 通过位置标号

    {0}表示第一个元素, {1}表示第二个元素, {2}表示第三个元素,以此类推。。。

    注意在这里的顺序是按照format中的参数顺序而言的,在字符串中{0},{1}位置随便。

    2.通过关键字参数

    3.通过属性和下标

    但是不知道字典怎么回事,和正常的键值索引不一样,貌似字符串不需要加引号,加引号反而出错了。。。

    各位可以自己试一下。当键值为整数的时候可以顺利输出,键值为字符串时不需要加‘’。

    4.格式化限定符

    {0:0.2f} {1:3d},在序号后面加上格式符就可以了,不用加%哦。

    5.填充与对齐(更加方便的语法,虽然用到的比较少)

    填充常跟对齐一起使用

    ^、<、>分别是居中、左对齐、右对齐,后面带宽度

    :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

    是不是很方便,注意<>^号后面加宽度哦。

    好啦,print和格式化的用法基本讲完了。大家掌握的怎么样啦

    相关文章

      网友评论

          本文标题:python字符串格式化输出

          本文链接:https://www.haomeiwen.com/subject/dsguhxtx.html