С синтаксисом заимствованного C "%6g"
вы можете указать python отображать число с плавающей запятой максимум из шести цифр (если число не слишком большое).
Это означает, что если целая часть числа имеет 4 цифры, она будет использовать 2 оставшиеся цифры, чтобы вывести наиболее значимую десятичную часть.
Теперь, если мы хотим сделать его параметризуемым, нам нужно сгенерировать строку формата, что не очень удобно, поэтому Python ввел Параметризованную точность в таких строках.
'%.*g' % (6,k)
печать k
с 6 цифрами макс.
Теперь вы будете лучше использовать «новое» форматирование, используя format
, которое позволяет «вложенному» форматированию генерировать внешнее форматирование (поэтому нет необходимости в сложном синтаксисе .*
):
'{:.{prec}g}'.format(k, prec=6) # courtesy of Dan comment
Здесь prec
даже не специальное ключевое слово, просто имя параметра, переданное как ключевое слово функции. Это как:
'{:6g}'.format(k)
Существует целый веб-сайт, посвященный старым и новым стилям Python: https://pyformat.info/
(а также более новый синтаксис со строками формата Python 3.6 ... https://www.python.org/dev/peps/pep-0498/)