• python 格式化输出


    转自 菜鸟教程:https://www.runoob.com/python/att-string-format.html 

    Python format 格式化函数


    Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

    基本语法是通过 {} 和 : 来代替以前的 % 。

    format 函数可以接受不限个参数,位置可以不按顺序。

    实例

    >>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
    'hello world'
     
    >>> "{0} {1}".format("hello", "world")  # 设置指定位置
    'hello world'
     
    >>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    'world hello world'

    实例

    print("网站名:{name}, 地址 {url}".format(name="laowang", url="www.laowang.com"))

    # 通过字典设置参数
    site = {"name": "laowang", "url": "www.laowang.com"}
    print("网站名:{name}, 地址 {url}".format(**site))

    # 通过索引设置参数(列表和元组)
    my_list = ['laowang', 'www.laowang.com']
    print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # 0代表format里面的第一个元素,[x]代表列表或元组的第x个元素

    输出结果为:

    网站名:laowang, 地址 www.laowang.com
    网站名:laowang, 地址 www.laowang.com
    网站名:laowang, 地址 www.laowang.com

    也可以向 str.format() 传入对象,直接调用对象的属性。

    数字格式化

    下表展示了 str.format() 格式化数字的多种方法:

    >>> print("{:.2f}".format(3.1415926));
    3.14
    数字格式输出描述
    3.1415926 {:.2f} 3.14 保留小数点后两位
    3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
    -1 {:+.2f} -1.00 带符号保留小数点后两位
    2.71828 {:.0f} 3 不带小数,四舍五入
    5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
    5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
    10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
    1000000 {:,} 1,000,000 以逗号分隔的数字格式
    0.25 {:.2%} 25.00% 百分比格式
    1000000000 {:.2e} 1.00e+09 指数记法
    13 {:>10d}         13 右对齐 (默认, 宽度为10)
    13 {:<10d} 13 左对齐 (宽度为10)
    13 {:^10d}     13 中间对齐 (宽度为10)
    11
    '{:b}'.format(11)
    '{:d}'.format(11)
    '{:o}'.format(11)
    '{:x}'.format(11)
    '{:#x}'.format(11)
    '{:#X}'.format(11)
    1011
    11
    13
    b
    0xb
    0XB
    进制

    ^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。:号愆面的数字,是format里元素的索引。

    .后面的数字,代表保留几位小数

    + 表示在正数前显示 +,负数前显示 -;  (空格)表示在正数前加空格

    b、d、o、x 分别是二进制、十进制、八进制、十六进制。

    f、%、d、e 分别代表浮点数、百分数、整数、科学计数

    使用{}转义{}:

    print ("{} 对应的位置是 {{0}}".format("runoob"))

    输出结果为:

    runoob 对应的位置是 {0}


    f-string
    # f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。格式为:f'{}'
    x = 10000
    name = 'wang'
    print(f'{x+1}')
    print(f'{x:A>+20,.3f}')
    f'{x:A>+20,.3f}' 

    {x:A>+20,.3f} 从左到右依次为:
    x   变量名
    : 固定格式
    A 填充字符,可以任意指定
    > 对齐方式。选项有 "<" ,">" ,"^"等,分别代表:左对齐、右对齐、居中
    + 正负号。选项有 +、-。 仅用于数字
    20 打印的长度,不足部份用填充字符代替,如果填充字符为空,则用空格代替
    , 千分位分隔符,选项有"," "_",仅用于数字
    .3 代表截取3位小数。如果不是数字,则截取返回的结果的前3位字符串
    f 代表浮点数,选项有
    b、d、o、x 分别是二进制、十进制、八进制、十六进制。f、%、d、e 分别代表浮点数、百分数、整数、科学计数
    result:
    10001
    AAAAAAAAA+10,000.000













  • 相关阅读:
    android调用系统拍照那些事
    HttpClient4.5
    关于Android自带的定位处理
    ORMLite配置异常处理
    mysql绿色版配置
    android 震动和提示音
    Weblogic新增域(可以配置新端口)
    weblogic启动错误
    将程序部署到weblogic出现乱码问题
    SVN更新报错
  • 原文地址:https://www.cnblogs.com/wztshine/p/11667815.html
Copyright © 2020-2023  润新知