zoukankan      html  css  js  c++  java
  • python基础知识之格式化

    格式化

    %s — 字符串类型

    % 是一个占位, s代表的字符串类型;

    %d|%i — 数字类型


    以上2个都不够强大,介绍个更强大的format

    格式化输出——format

    提到Python中的格式化输出方法,一般来说有以下两种方式:

    至于哪种方式好,对于我来说,用了.format()之后就再也不想用%了!!!

    一 、基本用法

    二 、关键词定位

    三 、可变参数
    既然format()是一个方法,那是不是也接受*args和**kwargs形式的传参呢,答案是肯定的。

    四 、固定宽度
    format()可以指定输出宽度为多少,当字符串长度少于设定值的时候,默认用空格填充:

    当然除了空格,我们也可以选择其他字符来填充,譬如我想打印一条分割线,便可以选择通过-来填充:

    五、对齐方式
    format()支持左对齐,右对齐,居中,分别对应<,>,^,具体怎么使用我们看实例:


    六、数字格式化
    常用的示例如下:

     取小数点后两位
    num = 3.1415926
    print('小数点后两位:{:.2f}'.format(num))      结果:小数点后两位:3.14
    
     带+/-输出
    num = -3.1415926
    print('带正/负符号:{:+.2f}'.format(num))      结果:带正/负符号:-3.14
    
     转为百分比
    num = 0.34534
    print('百分比:{:.2%}'.format(num))            结果:百分比:34.53%
    
     科学计数法
    num = 12305800000
    print('科学计数法:{:.2e}'.format(num))        结果:科学计数法:1.23e+10
    
     ,分隔
    num = 12305800000
    print('","分隔:{:,}'.format(num))             结果:","分隔:12,305,800,000
    
     转为二进制
    num = 15
    print('二进制:{:b}'.format(num))               结果:二进制:1111
    
     十六进制
    num = 15
    print('十六进制:{:x}'.format(num))             结果:十六进制:f
    
    
     八进制
    num = 15
    print('八进制:{:o}'.format(num))               结果:八进制:17
    
    

    七、输出花括号
    当然,如果我们想输出的{}的时候怎么办呢?python给咱们提供了方法:

    最后的最后、花式玩法
    其实结合以上这些特性,我们可以来点好玩点,譬如说自己写一个进度条:

    import time
    
    length = 1000
    for i in range(1, length + 1):
        percent = i / length
        bar = '▉' * int(i // (length / 50))
        time.sleep(0.01)
        print('
    进度条:|{:<50}|{:>7.1%}'.format(bar, percent), end='')
    print('
    ')
    

    效果如下:

    转义%%

    如果我们字符串中想要显示单独的%就需要用来个%%来转义,不然程序会认为那是一个占位

    num = input('>>>')
    s= '目前学习进度:%s%%'%num
    print(s)
    
    >>>10
    目前学习进度:10%
    
  • 相关阅读:
    ecplise中修改reviewboard密码
    本地上jar命令
    Python面试必须要看的15个问题
    Maven命令行窗口指定settings.xml
    codevs1002搭桥(建图+Prim)
    codevs1099字串变换(Bfs)
    codevs1044四子连棋(Dfs)
    codevs1226倒水问题(Bfs)
    codevs1051单词接龙(栈)
    niop 2014寻找道路
  • 原文地址:https://www.cnblogs.com/zzsy/p/12194177.html
Copyright © 2011-2022 走看看