2013-06-22 5 views
0

В Python 2, заявление питон печати не является функцией, тогда как в Python 3 это было обращено к в функциипитон 3 оператор печати осветление

когда я типа print( я получить hovertext (или что-то подобное) к

print(value,...,sep=' ', end='\n', file=sys.stdout, flush=False) 

Я знаю, что значит ценность, но разъяснение о том, что означают эти другие переменные и каковы преимущества оператора печати Python 3 в течение 2-х питона будут оценены (especially sep=' ')

+2

[... Итак, что же это? Почему вы спрашиваете об этом?] (Http://docs.python.org/3/library/functions.html#print) –

+0

'sep' - это просто разделитель между аргументами. Например. 'print (« John »,« Doe », sep =« \ t »)' prints 'John \t Doe'. – Th3Cuber

+0

оператор наведения - это спецификация оператора печати. – IcyFlame

ответ

5

Когда вы предоставляете несколько аргументов в print они обычно получают, разделенные пробелом:

>>> print(1, 2, 3) 
1 2 3 

sep позволяет изменить что-то другое:

>>> print(1, 2, 3, sep=', ') 
1, 2, 3 

Обычно, print добавит новую строку к концу. end позволяет изменить что:

>>> print('Hello.', end='') 
Hello.>>> 

Обычно print запишет в стандартный вывод. file позволяет изменить что:

Обычно print в явном виде не промывать поток. Если вы хотите избежать дополнительных sys.stdout.flush(), вы можете использовать flush. Эффект от этого, как правило, трудно увидеть, но попытка этого без flush=True должна сделать его видимым:

1

Python 2 не имеет эквивалента sep, потому что print не был функцией и не мог быть передан аргументам. Ближайший вы могли бы сделать, с join:

print ' '.join([value, ...]) 

Что касается file, вы должны использовать это (неудобный, на мой взгляд) синтаксис:

print >> sys.stdout, ' '.join([value, ...]) 

Я не собираюсь копировать/вставьте здесь документацию, поэтому прочитайте ее, если хотите узнать, для чего нужны эти аргументы.

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