在Python中的format()函数中使用变量

阿里·穆斯塔法

是否可以在Python的format()函数中的格式说明符中使用变量?我有以下代码,并且我需要VAR等于field_size:

def pretty_printer(*numbers):
  str_list = [str(num).lstrip('0') for num in numbers]

  field_size = max([len(string) for string in str_list])

  i = 1
  for num in numbers:
    print("Number", i, ":", format(num, 'VAR.2f')) # VAR needs to equal field_size
马丁·彼得斯(Martijn Pieters)

您可以使用str.format()方法,该方法可以为宽度之类的值插入其他变量:

'Number {i}: {num:{field_size}.2f}'.format(i=i, num=num, field_size=field_size)

每个参数{}都是一个占位符,用于填充关键字参数中的命名值(您也可以使用编号的位置参数)。可选部分后面的部分:给出格式(format()基本上函数的第二个参数),您可以{}在那里使用更多占位符来填充参数。

使用编号位置如下所示:

'Number {0}: {1:{2}.2f}'.format(i, num, field_size)

但您也可以将两者混用或选择其他名称:

'Number {0}: {1:{width}.2f}'.format(i, num, width=field_size)

如果省略数字和名称,则字段将自动编号,因此以下等效于前面的格式:

'Number {}: {:{width}.2f}'.format(i, num, width=field_size)

请注意,整个字符串都是模板,因此Number字符串和冒号等内容都是模板的一部分。

但是,您需要考虑到字段大小包括小数点;您可能需要调整大小以添加这3个额外字符。

演示:

>>> i = 3
>>> num = 25
>>> field_size = 7
>>> 'Number {i}: {num:{field_size}.2f}'.format(i=i, num=num, field_size=field_size)
'Number 3:   25.00'

最后但并非最不重要的一点,在Python 3.6及更高版本中,您可以使用格式化的字符串常量将变量直接放入字符串常量中

f'Number {i}: {num:{field_size}.2f}'

使用常规字符串模板的优点str.format()是可以交换出模板,f字符串的优点是可以在字符串值语法本身中内联非常易读和紧凑的字符串格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python中如何在调用函数中使用变量?

在函数中使用python中的全局变量

使用Python在另一个函数中使用一个函数中的变量

在Python函数中使用变量作为参数

在HTML中的mailto函数中使用变量

在R中的函数中使用变量

为什么在Python中定义变量之前就可以在函数中使用变量?

Python - 在其他函数中使用一个函数中的一个变量

在函数中使用变量

在python函数中使用numpy中的函数

使用函数而不写出名称,而是通过在 python 中的变量中使用信息

在 Python Pandas 中创建的函数中使用 .format() 从 Data Frame 中选择值时出错?

如何定义将在python类中的函数的每次迭代中使用的变量?

在类似于Matlab的python中在外部函数中使用全局变量

如何在 Python 中的函数中使用变量作为关键字

如何在python中使用if else语句将列表放入函数中以创建变量?

如何在 Python-3 中的成员函数声明中使用类变量?

在 Python 中,有没有办法在内部函数体中使用外部函数中的变量?

如何在plpgsql中使用“ EXECUTE format()”中的变量

在 Python 中使用 with 块中的变量

在Python Selenium中的xpath中使用变量

在 Python 中的 REQUESTS 中使用变量

在Python中的API请求中使用变量

在python中的函数中使用列表

你如何在python中使用函数之外的递增变量?

为什么不在python的函数中使用变量值

在Python的嵌套函数中使用全局变量

在Python中使用相同的函数声明多个变量

如何在python中使用函数和循环调用变量