zoukankan      html  css  js  c++  java
  • python3 str.format()的使用

    基本格式

    {字段名!转换字段:格式说明符}

    字段名:省略;数字;变量名

    'name is {}, age is {}'.format('peter',25)
    'name is {1}, age is {0}'.format(25, 'peter')
    'name is {name}, age is {age}'.format(name='peter',age='25')
    

    转换字段: !s !r !a

    s:传递参数之前先对参数调用 str()
    r:传递参数之前先对参数调用 repr()
    a:传递参数之前先对参数调用 ascii()

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
            
        def __repr__(self):
            return 'Person({0.name!r}, {0.age!r})'.format(self)
        
        def __str__(self):
            return '({0.name!s}, {0.age!s})'.format(self)
        
    person = Person('peter', 25)
    'this person is {!r}'.format(person)
    'this person is {!s}'.format(person)
    'this person is {!a}'.format('皮特')
    
    # result
    "this person is Person('peter', 25)"
    'this person is (peter, 25)'
    "this person is '\u76ae\u7279'"
    

    格式说明符

    填充与对齐 :[填充字符][对齐方式 <^>][宽度]

    '{:*>10}'.format(10) # 右对齐 '********10'
    '{:*<10}'.format(10) # 左对齐 '10********'
    '{:*^10}'.format(10) # 居中对齐 '****10****'
    

    精度与数据类型

    • 默认的数据类型是 字符串 s
    '{:.3}'.format('23333333')  # '233'
    '{:.3s}'.format('23333333') # '233'
    
    • 进制转换
    '{:b}'.format(20) # 二进制 '10100'
    '{:o}'.format(20) # 八进制 '24'
    '{:x}'.format(20) # 十六进制 '14'
    
    • 浮点数和科学计数法
    '{:e}'.format(1234567.1234567)    # 科学计数法 '1.234567e+06'
    '{:.2e}'.format(1234567.1234567) # '1.23e+06'
    '{:.3f}'.format(1234567.1234567)  # 浮点数 '1234567.123'
    '{:%}'.format(1)  # 百分数 '100.000000%'
    '{:.0%}'.format(1) # '100%'
    

    花括号转译

    • 使用花括号转译花括号
    '{{{}}}'.format('peter') # '{peter}'
    
  • 相关阅读:
    Java常见问题汇总
    前端url参数中带有callback并产生错误
    shiro中ecache-core版本引起的异常
    深入SpringMVC注解
    导出表格数据到excel并下载(HSSFWorkbook版)
    layui数据表格及分页
    签名的生成
    程序的健壮性Robustness
    ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
    生成二维码功能
  • 原文地址:https://www.cnblogs.com/Peter2014/p/10664052.html
Copyright © 2011-2022 走看看