как называется подобная запись, вывода информации:
print("Hello, %s" % foo)
и:
print("Float - %.2f" % bar)
как называется подобная запись, вывода информации:
print("Hello, %s" % foo)
и:
print("Float - %.2f" % bar)
Это называется форматирование строк в стиле printf.
Любая строка может включать в себя произвольное число особых спецификаторов форматирования, состоящих из маркерного символа(обычно %) и набора параметров преобразования, последним из которых всегда указывается тип форматирования объекта.
Изначально это пошло из стандартной библиотеки языка C, где есть функция printf(), принимающая строку с спецификаторами форматирования первым аргументом, а последующими аргументами ей передаются значения произвольного типа. В качестве вывода, эта функция формирует строку с отформатированными в соответствии со спецификаторами значениями, подставленными на место этих самых спецификаторов.
Pyhon вместо этой функции использует оператор форматирования, тоже обозначенный символом процента(%) - он разделяет форматную строку и значения, которые с её помощью нужно отформатировать.
Разбирая ваши примеры:
"Hello, %s" % foo
Означает: отформатировать значение переменной foo как строку и вставить её в указанное место.
"Float - %.2f" % bar
Здесь же %.2fтребует форматирования bar как число с плавающей точкой(f - float), c округлением до 2-х знаков после запятой
__mod__ (который по желанию можно перегрузить)
– andreymal
Jan 23 '16 at 13:18
% не является устаревшим, так оно ещё и быстрее, чем с использованием format: The relative speeds of str.format and %
– zed
Jan 23 '16 at 16:26
Как уже сказано, % - это символ форматирования строк.
Т.е используя процент в строке, мы указываем, что в конечном отображении строки будет использован один из аргументов метода printf(). Не стоит забывать, что в строке форматирования после процента мы указываем еще и тип аргумента, который будет выведен в консоль.
%s - строка
%f - вещественный
%d - целый