2015-05-22 3 views
0

В Python[печать "Всего Фрукты% D" % fruits.fruitsCount] и [печать "Всего фруктов", fruits.fruitsCount]

print "Total Fruits %d" % fruits.fruitsCount 
print "Total Fruits ",fruits.fruitsCount 

Выход одинаковы в обоих сценариях. В чем разница между этим заявлением? Лучше другого?

+0

еще одно пространства будет напечатано для второго –

+0

BTW оба утверждения неверны в 3.x Python и вторых один отпечаток _two_ пространств между словом «фруктами» и их счет (потому что пространство также является разделителем). – myaut

+0

Сначала проверяется тип через формат, второй - нет. – Bravmech

ответ

3

Используется форматирование строк, чтобы сначала создать одну строку, которая затем печатается.

print "Total Fruits ",fruits.fruitsCount 

Эта функция использует возможности печати для печати сразу нескольких значений. print будет просто конкат все полученные значения; для всего, что не является строкой, оно назовет str() на значение. Обратите внимание, что оператор печати автоматически добавляет пробел между каждым аргументом, поэтому ваш вывод будет иметь два пробела между «Фруктами» и счетчиком. Чтобы получить тот же результат, что и выше, удалите конечное пространство в "Total Fruits".

Как для одного быть лучше чем другое, оно зависит. Только заявление print намного проще, если вы просто хотите вывести материал. Но если вам нужно больше контроля над форматированием вывода, вы в конечном итоге используете строку формата. Это особенно верно, если вы хотите внедрить значения внутри строки.Например, это не представляется возможным, используя print заявление в одиночку (из неявных пробелов):

print "Fruits in parentheses (%d)" % fruits.fruitsCount 

Вы можете также использовать str.format, который является новым способом использовать строки формата:

print "Fruits in parentheses ({})".format(fruits.fruitsCount) 
1

Различные операторы используются при формировании строки в python

% c знак

% S преобразования строки с помощью STR() до форматирования

% I подписали десятичное целое

% d подписали десятичное целое

% U беззнаковое десятичное целое

% o восьмеричных целого

% х шестнадцатеричного числа (прописные буквы)

% Х шестнадцатеричного числа (заглавные буквы)

% е экспоненциального (с строчной 'х')

% E экспоненциальная нотация (с верхним индексом 'E')

% F с плавающей точкой вещественное число

% г наименьшего из% F и% е

% G наименьшего из% е и% E

выше отличается оператор форматирования строки используется, когда вы хотите добавить строку в значение конкретной переменной.

Для примера:

печати "Меня зовут% s и вес% D кг!" % ('chaitanya', 21)

прослушивать строку со строкой с переменной строкой и целочисленной переменной на исходной строке.

Я надеюсь, что это должно полезно для вас ..)

Смежные вопросы