zoukankan      html  css  js  c++  java
  • Python 的格式化字符串format函数

    阅读mattkang在csdn中的博客《飘逸的python - 增强的格式化字符串format函数》所做笔记

    自从python2.6开始,新增了一种格式化字符串的函数str.format(),他通过{}和:来代替%。

    1、映射实例

    In[1]: '{0},{1}'.format('abc', 18)
    Out[1]: 'abc,18'
    
    In[2]: '{}'.format(18)
    out[2]: 18
    
    In[3]: '{1},{0},{1}'.format('abc', 123)
    out[3]: '123,abc,123'
    
    In[4]: '{name}, {age}'.format(age=18, name = 'abc')
    out[4]: 'abc, 18'
    
    In[5]: p = ['abc', 18]
    In[6]: '{0[0]}, {0[1]}'.format(p)
    out[6]: 'abc, 18'

    2、格式限定符

    它有着丰富的格式限定符(语法是{}中带:), 比如:

    填充与对齐:

    填充欲对其一起使用

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

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

    比如:

    In[7]: '{:>8}'.format('189')
    out[7]: '     189'
    
    In[8]: '{:0>8}'.format('189')
    out[8]: '00000189'

    精度与类型

    精度常跟类型f一起使用

    In[9]: '{:.2f}'.format(321.3456)
    out[9]: '321.34'

    其中.2表示长度为2的精度,f表示float类型。

    其他类型

    主要就是进制, b, d, o, x分别是二进制、十进制、八进制和十六进制

    In[10]: '{:b}'.format(17)
    out[10]: '10001'
    
    In[11]: '{:d}'.format(17)
    out[11]: '17'
    
    In[12]: '{:o}'.format(17)
    out[12]: '21'

    用,号还能用来做金额的千位分隔符

    In[13]: '{:,}'.format(1234567890)
    out[13]: '1,234,567,890'
  • 相关阅读:
    ActiveMQ
    bzoj 3039 悬线法求最大01子矩阵
    bzoj 1015 并查集
    bzoj 3037 贪心
    bzoj 2599 数分治 点剖分
    bzoj 2743 树状数组离线查询
    bzoj 2141 线段树套平衡树
    bzoj 3171 费用流
    bzoj 2751 快速幂
    bzoj 2956 数学展开,分段处理
  • 原文地址:https://www.cnblogs.com/siriuswang/p/4623035.html
Copyright © 2011-2022 走看看