zoukankan      html  css  js  c++  java
  • 关于python中format占位符中的 {!} 参数

    在看celery的时候,发现里面有这么一句

    print('Request: {0!r}'.format(self.request))
    

    关于里面的{0!r}是什么意思翻了一下文档。

    文档里是这么描述的

    replacement_field ::=  "{" [field_name] ["!" conversion] [":" format_spec] "}"
    
    ------
    
    Two conversion flags are currently supported: '!s' which calls str() on the value, and '!r' which calls repr().
    
    Some examples:
    
    "Harold's a clever {0!s}"        # Calls str() on the argument first
    "Bring out the holy {name!r}"    # Calls repr() on the argument first
    

    是说感叹号后面跟的是conversion,而conversion有两个值.

    分别是s对应str()函数, r对应repr()函数。

    因此上面的翻译一下类似于下面

    "Harold's a clever {0!s}" == "Harold's a clever str({0})"
    
    "Bring out the holy {name!r}" == "Bring out the holy repr({name})"
    

    实际调用时的写法应该是

    "Harold's a clever {0!s}".format(string) == "Harold's a clever {0}".format(str(string))
    
    "Bring out the holy {name!r}".format(string) == "Bring out the holy {name}".format(repr(string))
  • 相关阅读:
    离线计算框架 MapReduce
    Hadoop概述
    Linux之rpm/yum
    Linux之磁盘分区
    利用CMD合并多个VOB文件
    android中的simple_list_item
    jquery中的跨域-jsonp格式
    安卓代码中设置ImageView属性
    Android中常用的Adapter的种类和用法
    C#导入excel文件到oracle的方法
  • 原文地址:https://www.cnblogs.com/leisurelylicht/p/6631949.html
Copyright © 2011-2022 走看看