print()
- это функция, которую вы ищете. Как и большая часть основного полиморфизма в python, печать обеспечивается встроенной функцией вместо использования методов (например, len()
, next()
, repr()
и т. Д.!).
Функция print()
, являющаяся универсальным интерфейсом, также делает его более универсальным без необходимости реализации самими файловыми объектами. В этом случае по умолчанию он завершается символом новой строки, но его можно выбрать при вызове функции, например:
print("text", file=sys.stderr, end="\n")
В предложенном вами случае использования все файловые объекты должны будут реализовывать не только метод .write()
(теперь используется print()
), но также .writeln()
и, возможно, даже больше! Этот основанный на функциях полиморфизм делает Python очень богатым, не обременяя интерфейсы (вспомните, как работает утка).
Примечание: эта модель всегда была в центре Python. Это только более чисто в моих примерах, которые относятся к Python 3