为什么python不出结果_为什么这种错误的python格式会产生此结果,而不是异常?...

I've tracked down a bug to incorrect placement of : in a format.

But I don't yet understand the behavior. Why does the 2nd line generate two pi's (wrong 2nd value) but proper formatting, rather than throw an exception?

import math

data = math.pi, math.e

print 'pi={:0.2f}, e={:0.4f}'.format(*data)

print 'pi={0:.2f}, e={0:.4f} wrong!'.format(*data) # wrong!

gives

pi=3.14, e=2.7183

pi=3.14, e=3.1416 wrong!

解决方案

The number before the colon is the index of the arguments, so in your second print both {0:.2f} and {0:.4f} are printing the same argument of index 0, which is math.pi.

replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"

field_name ::= arg_name ("." attribute_name | "[" element_index "]")*

Note the field_name before :, which can be an element index.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值