有关格式的python文档与运行结果不匹配

时间:2017-01-10 11:06:48

标签: python format string-formatting

python文档Format Specification Mini-Language中的一个词:

  

一般惯例是,空格式字符串("")产生的结果与在值上调用str()的结果相同。

但它与python2和python3的实际结果不匹配:

  var $ctrl = this;

  $document.on('click', menuClickHandler);

  this.$onDestroy = function() {
      $document.off('click', menuClickHandler);
  };

  function menuClickHandler(event) {
      if ($ctrl.isTelephoneMenuOpen) {
           console.log("close menu");
           $ctrl.isTelephoneMenuOpen = false;
           $rootScope.$apply();
      }
  }

1 个答案:

答案 0 :(得分:4)

您有一个空的模板,而不是一个空的格式字符串。格式字符串是:占位符中可选{..}之后的部分。通过完全省略占位符,无法将价值放入其中。

因此,以下内容与str()上的值相同:

>>> '{:}'.format(100)
'100'
>>> '{}'.format(100)
'100'

空字符串作为format() function的第二个参数:

>>> format(100, '')
'100'

在所有情况下,格式字符串都是空的。

您可能错过了整个Format Specification Mini-language仅记录您可以在占位符的{:...}部分中使用的格式化操作,或者作为format()的第二个参数。对于模板字符串(您应用str.format()方法的部分),您需要阅读上面的Format String Syntax section部分。