zoukankan      html  css  js  c++  java
  • Python % 格式化字符串

    格式字符串

    • python 使用一个字符串作为模板
    • 模板中含有格式符,为真实值预留位置
    • 使用tuple或者字典来传递值
    • 模板和值之间,用 % 来表示格式化操作

    例子:

    1) tuple 传值

    print("I'm %s,  and I'm %d years old"  %  ('Tony',99) )
    

    2)字典传值

    print("I'm %(name)s, and I'm %(age)d years old"  %  {'name':'Tony','age':99})
    

    字典传值时,我们对格式串进行了 命名 。所以可以接收字典的value(相同名字的key)

    格式符含义:

    %s    字符串 (采用str()的显示)
    
    %r    字符串 (采用repr()的显示)
    
    %c    单个字符
    
    %b    二进制整数
    
    %d    十进制整数
    
    %i    十进制整数
    
    %o    八进制整数
    
    %x    十六进制整数
    
    %e    指数 (基底写为e)
    
    %E    指数 (基底写为E)
    
    %f    浮点数
    
    %F    浮点数,与上相同
    
    %g    指数(e)或浮点数 (根据显示长度)
    
    %G    指数(E)或浮点数 (根据显示长度)
    
     
    
    %%    字符"%"
    

    注意:

    1)%s 与 %r 的区别在于, %s 不带'',  %r 带

    print("%s" % 'abc')    #   abc
    print("%r" % 'abc')    #   'abc'
    

    2)%% 不懂??   

    3)其实除了 命名 外,还有其他选项可以控制字符串。

    % [(name)] [flags] [width] . [precision] typecode 

    • 其中flags 有+, -, 0, ' ' 四种。表示字符串前补上这些符号
    • width 表示字符串的output长度,左补
    • precision代表float类型的output精度

     例子:

    print("%+10x" % 10)                #        +a
    print("%04d" % 5)                  #0005
    print("%6.3f" % 2.3)               # 2.300
    
    # width 和precision   也可以动态传递
    print("%.4f" % 1.2)                 #1.2000
    print("%.*f" % (4,1.2))            #1.2000
    

     

      

  • 相关阅读:
    【MySQL】悲观锁&乐观锁
    选盘秘籍:用户如何选择SSD/SATA/SAS?
    【MySQL】分页优化
    【MySQL】锁问题最佳实践
    【MySQL】锁入门
    【MySQL】SQL优化系列之 in与range 查询
    【DNS】简单聊聊DNS如何工作
    【MySQL】排序原理与案例分析
    git的使用
    关于fastjson与jackson在反序列化bool型时的区别
  • 原文地址:https://www.cnblogs.com/skyEva/p/5536992.html
Copyright © 2011-2022 走看看