我不明白冒号在str.format中的作用

时间:2016-12-22 20:02:05

标签: python

https://coderbyte.com/information/Division%20Stringified

  

使用DivisionStringified(num1,num2)函数获取两个参数   传递,将num1除以num2,并将结果作为字符串返回   格式正确的逗号。如果答案只有3位数,   返回没有逗号的数字(即2/3应输出“1”)。对于   示例:如果num1为123456789且num2为10000,则输出应为   “12346”。

这是顶级用户的解决方案,而不是我的解决方案:

def DivisionStringified(num1, num2): 
    return '{:,}'.format((num1 + (num2 / 2)) / num2)

'{:,}'.format做什么?我不知道如何将逗号放在大量正确的位置。

1 个答案:

答案 0 :(得分:2)

documentation说:

  

''选项表示使用逗号分隔千位分隔符。对于区域设置感知分隔符,请使用' n'而是整数表示类型。

所以我们可以看到,在格式字符串中的作用。

对于:,格式字符串的常规格式如下:

{what:format_spec}

这两个部分都是可选的 - 默认格式规范只是!s(这意味着使用内置的str格式化)。如果"什么"如果没有指定part,那么python只会填充相应位置参数的位置。在这种情况下,:是必需的,以便格式解析器可以获取format_spec部分。