python格式化输出字符串居中

财经 2019-08-24 04:40:58 2626

本文收集整理关于python格式化输出字符串居中的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:python字符串格式化什么意思
  • Q2:python字符串格式化输出的时候类似{0:.3f}是什么意思?
  • Q3:python字符串格式化的问题
  • Q4:在Python中,如何修改字符串中的某一位字符?
  • Q5:Python中格式化输出怎么同时控制字符串长度和对齐方式?比如输出2.4要求
  • Q6:Python:格式输出字符串如何设置右对齐
  • Q1:python字符串格式化什么意思

    在python中也有类似于c中的printf()的格式输出标记。在python中格式化输出字符串使用的是%运算符,通用的形式为
    格式标记字符串 % 要输出的值组
    其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的值组如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。重点来看左边的部分。左边部分的最简单形式为:
    %cdoe
    其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记。比如:
    %s %s %s % (1, 2.3, [one, two, three])
    它的输出为1 2.3 [one, two, three],就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code:
    整型数:%d
    无符号整型数:\u
    八进制:%o
    十六进制:%x%X
    浮点数:%f
    科学记数法: %e%E
    根据数值的不同自动选择%e或%f: %g
    根据数值的不同自动选择%E或%f: %G
    就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在”格式标记字符串“中输出%本身,可以用%%来表示。
    上面说的只是格式标记的最简间的形式,来看复杂一点的:
    ‘%6.2f’ % 1.235、在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:
    ‘%06.2f’ % 1.235、在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为‘001.24’,可以看到小数也占用一位。类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:
    ‘%(name)s:%(score)06.1f’ %{score:9.5, name:newsim}
    这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。这行代码的输出为:newsim:0009.5。有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:%*.*f % (6, 2, 2.345)就相当于%6.2f % 2.345。
    这是这本书到此为止看起来最复杂的内容。不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。
    象C 中的sprintf函数一样,可以用“%”来格式化字符串
    Table 3.1. 字符串格式化代码
    格式 描述
    %% 百分号标记
    %c 字符及其ASCII码
    %s 字符串
    %d 有符号整数(十进制)
    \u 无符号整数(十进制)
    %o 无符号整数(八进制)
    %x 无符号整数(十六进制)
    %X 无符号整数(十六进制大写字符)
    %e 浮点数字(科学计数法)
    %E 浮点数字(科学计数法,用E代替e)
    %f 浮点数字(用小数点符号)
    %g 浮点数字(根据值的大小采用%e或%f)
    %G 浮点数字(类似于%g)
    %p 指针(用十六进制打印值的内存地址)
    %n 存储输出字符的数量放进参数列表的下一个变量中

    Q2:python字符串格式化输出的时候类似{0:.3f}是什么意思?

    d表示整型,f表示浮点型,就是指明数据类型用的。
    这跟C语言中的printf 函数语法是非常类似的,学过C语言的人就很容易理解这些。print(test:{0:3}.format(math.pi))
    3用于控制输出宽度。
    这里由于输出位数大于宽度,就按实际位数输出了。print(test:{0:3f}.format(math.pi))
    同样,3表示输出宽度。
    若输出位数小于此宽度,默认右对齐,左边补空格。如:
    >>> print(test:{0:10f}.format(math.pi))
    test:3.141593、若输出位数大于宽度,则按实际位数输出。这里之所以显示3.141593,是因为指定了f浮点数类型,默认显示6位小数。
    print(test:{0:.3}.format(math.pi))
    .3 指定除小数点外的输出位数
    print(test:{0:.3f}.format(math.pi))
    .3f 表示浮点数的精度为3(小数位保留3位)

    Q3:python字符串格式化的问题

    这是格式化功能的基本语法
    %:代表着后面的以字母结束几个字符是对格式化方式的规定,主要内容:d表示格式化成整数,s表示格式化成字符串,x表示格式化成16进制数;这些字幕前面可以有数字,表示最终的长度;
    如果你要在格式化结果中出现%,需要用两个%%表示 那么看看 :
    %d%%%d:表示要格式化的数据有两个,都是整数,中间要加一个%号
    1%3,3%4这是需要格式化的数据,第一个计算结果是1,第二个是3
    那么结果就是:1%3 这是基本语法,建议你好好看看

    Q4:在Python中,如何修改字符串中的某一位字符?

    用正则表达式去搜索并替换

    wWW%.YijiTAo.COm

    Q5:Python中格式化输出怎么同时控制字符串长度和对齐方式?比如输出2.4要求

    %4d 右对齐
    %-4d 左对齐

    Q6:Python:格式输出字符串如何设置右对齐

    # 推荐方式, 不需指定类型"{:>5}".format(5)# 需指定类型, 不推荐"%5d" % (5)

    相关文章
    python安装后怎么打开2019-02-19
    python怎么运行py文件2019-02-26
    python 字符串查找所有2019-03-18
    python爬取网页 下一页2019-03-18
    python安装第三方模块2019-03-20
    python3爬虫入门教程2019-04-05
    python异常处理的主动抛出2019-04-05
    python判断是否整除2019-04-07
    python要学多久才能去工作2019-04-11
    python求三个数平均值2019-04-12