Для чего оператор% в python? - PullRequest
       16

Для чего оператор% в python?

1 голос
/ 05 августа 2009

Я видел оператор%, используемый в некотором коде Python, связанном со строками, например:

String = "Value: " % variable

Что это значит? Чем он отличается от использования:

String = "Value: " + variable

Ответы [ 6 ]

11 голосов
/ 05 августа 2009

для вставки значений в строки, содержащие спецификации формата

string = "number is %d" % 1

или

string = "float is %.3f" % 3.1425

это работает аналогично spintf в C

Вы можете вставить несколько значений двумя способами:

string = "number %d and float %f" % (1,3.1415)
string = "number %(mynum)d and float %(myfloat)f" % {'mynum':1,'myfloat':3.1415}
2 голосов
/ 05 августа 2009

Для строк% это оператор форматирования . Это также отмечает начало спецификатора формата.

Оператор + объединит строку в конце строки с правой частью +. Оператор% заменит спецификатор формата отформатированным способом в месте расположения спецификатора формата.

Для чисел% это операция по модулю или остаток после деления.

2 голосов
/ 05 августа 2009

% представляет собой оператор форматирования строки (также известный как оператор интерполяции ), см. http://docs.python.org/library/stdtypes.html#string-formatting

0 голосов
/ 03 августа 2012

(Кроме того, на случай, если вы не знали): когда не используется над строками, % действует как функция по модулю

>>> 5 % 5
0
>>> 1 % 4
1
0 голосов
/ 05 августа 2009

По словам Джона Э. Грейсона в его книге "Программирование на Python и Tkinter", использование форматирования строк вместо конкатенации может повысить производительность как минимум на 25 процентов.

a = x + '' + y + '' + z

на 25 процентов медленнее, чем

a = '% s% s% s'% (x, y, z)

В Python 3 вы также можете сделать следующее:

a = '{} {} {}'. Format (x, y, z)

0 голосов
/ 05 августа 2009

Чтение форматирование строк

  • '%' - оператор форматирования строки
  • '+' будет оператором concat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...