• 关于python字符串format的一些花式用法


    目录:

    基础

    实战


    前提:

    python中字符串的format功能非常强大,可以说完全能够替代其他的字符串使用方法,但是在后期的项目开发中使用的并不是特别的多,

    以至于想用的时候会想不起来准确的使用方法,所以在这里汇总一下format的常用方法,方便以后查阅

    基础

    format的大括号用法可以实现字符串的拼接:

    In [1]: '大家好,这里是{},我是博主{}'.format('博客园', 'pywjh')
    Out[1]: '大家好,这里是博客园,我是博主pywjh'

    大括号内可以打乱顺序,根据{}里面的顺序写进format就好了:

    In [2]: '大家好,这里是{1},我是博主{0}'.format('pywjh', '博客园')
    Out[2]: '大家好,这里是博客园,我是博主pywjh'

    保留输出的小数点位数

    In [22]: '{:.2f}'.format(1.222)
    Out[22]: '1.22'

    限制输出数字的位数,也要保留小数位数

    In [30]: '{:5.2f}'.format(1.222)
    Out[30]: ' 1.22' # 空格、一、小数点、二、二 共5位

    千位分隔符号输出:

    In [60]: '{:,}'.format(132456)
    Out[60]: '132,456'

    百分号输出:

    In [48]: '{:.2%}'.format(0.333333)
    Out[48]: '33.33%'
    
    In [49]: '{:.1%}'.format(0.333333)
    Out[49]: '33.3%'

    在项目开发中常用到的输出技巧:

    In [50]: a = 10
    In [51]: f'a的值是{a}!'
    Out[51]: 'a的值是10!'

    以及:

    In [55]: b = '大家好,我是{}!!!'.format
    In [56]: b('pywjh')
    Out[56]: '大家好,我是pywjh!!!'

     实战

    • 给定一个数字 123456,请采用宽度为 25、右对齐方式打印输出,使用加号“+”填充。
    In [57]: '{:+>25}'.format(123456)
    Out[57]: '+++++++++++++++++++123456'
    • 给定一个数字12345678.9,请增加千位分隔符号,设置宽度为30、右对齐方式打印输出,使用空格填充。 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    In [59]: '{:>30,}'.format(13245678.9)
    Out[59]: '                  13,245,678.9'
    • 给定一个整数数字0x1010,请依次输出Python语言中十六进制、十进制、八进制和二进制表示形式,使用英文逗号分隔。
    In [62]: '0x{0:x}, {0:}, 0o{0:o}, 0b{0:b}'.format(0x1010)
    Out[62]: '0x1010, 4112, 0o10020, 0b1000000010000'
    • 编写 Python 程序输出一个具有如下风格效果的文本,用作文本进度条样式,部分代码如下,填写空格处。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
       10%@==
       20%@====
      100%@====================

      前三个数字,右对齐;后面字符,左对齐‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

      文本中左侧一段输出 的值,右侧一段根据 的值输出等号,中间用 @ 分隔,等号个数为 与 5 的整除商的值,例如,当 等于 10 时,输出 2 个等号。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

    N = input()   # N取值范围是0—100,整数
    print("{:>3}%@{}".format(N,"="*(N//5)))
    • 根据输入字符串 s,输出一个宽度为 15 字符,字符串 s 居中显示,以“=”填充的格式。如果输入字符串超过 15 个字符,则输出字符串前 15 个字符。提示代码如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
      s = input()
      print(____①____)
      输入 输出
    示例 1
    PYTHON
    ====PYTHON=====
    s = input()  # "请输入一个字符串:"
    print("{:=^15}".format(s[0:15]))
  • 相关阅读:
    python——协程
    解读python中SocketServer源码
    python——初识socket
    python的类和对象——类的静态字段番外篇
    python的类和对象——类成员番外篇
    python的类和对象——进阶篇
    初识python中的类与对象
    python中lambda表达式应用
    python——挖装饰器祖坟事件
    python的基础类源码解析——collection类
  • 原文地址:https://www.cnblogs.com/pywjh/p/9867329.html
Copyright © 2020-2023  润新知