1
Y = 2
print(X, Y)
# эквивалент функции print()
import sys
sys.stdout.write(str(X) + ' ' + str(Y) + '\n')
Вот их вывод:
>>> print(X, Y)
1 2
>>> import sys
>>> X = 1
>>> Y = 2
>>> sys.stdout.write(str(X) + ' ' + str(Y) + '\n')
1 2
4
Почему вывод sys.stdout отличается от вывода print и что за цифру выводит sys.stdout? Длину строк? Я это проверял на Python 3.12, Windows 11.
>>> sys.stdout.write('a')
a1
>>> sys.stdout.write('aa')
aa2
>>> sys.stdout.write('aaa')
aaa3
>>>
почти sys.stdout.write('👨🏿')
file.write всегда возвращает количество байт, которые записались. А интерактивная консоль просто выводит результат вызова
возвращает кол-во символов
stdout ничего не выводит. Он возвращает количество записанных символов — https://docs.python.org/3/library/io.html#io.TextIOBase.write В консоль оно попадает, потому что repl выводит результат выражения
Обсуждают сегодня