СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методический материал "Поток вывода на языке программирования Python"

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Методический материал "Поток вывода на языке программирования Python"»

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»

















Методическая разработка

«Поток вывода на языке

программирования Python»

к дополнительной общеобразовательной

общеразвивающей программе

технической направленности

«Программирование на Python»





Возраст детей: 10-17 лет





Автор: Костычев Вадим Александрович













г. Заречный Пензенской области

2024 г.

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

Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы над проектом на языке Python.

Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Программирование на Python». С их помощью учащиеся смогут применить теоретические знания на практике, построив сложные алгоритмы для решения различных задач.

Поток вывода sys.stdout

Мы с вами уже рассмотрели как работает поток ввода sys.stdin, который по своей сути является итератором, позволяющим считывать любое количество строк, передаваемой пользователем в программу даже без объявления каких-либо команд. В это материале мы с вами рассмотрим обратную команду команды sys.stdin – поток вывода sys.stdout.

Аналогично командам input и потоку ввода sys.stdin, команда print передает поток данных в sys.stdout.write. Давайте рассмотрим работу по выводу данных без команды print.

Для вывода данных в консоль нам необходимо использовать команду sys.stdout.write. Важно помнить, что эта команда не добавляет ни пробелов, ни символа переноса в конец строки в отличии от команды print. Рассмотрим пример параллельной работы функции print и sys.stdout.write:



import sys



print('Это')

sys.stdout.write('вывод')

print('данных')

sys.stdout.write('через\n')

print('поток вывода')

sys.stdout.write('и функцию print')



Получим следующие строки в консоли:

Это

выводданных

через

поток вывода

и команду print



Некоторые строки слиплись из-за отсутствия символа переноса строки в потоке вывода. В этом плате использовать функцию print гораздо комфортнее, не нужно заботиться о переносах.

Еще одной важной особенности потока вывода sys.stdout.write является то, что мы можем выводить исключительно строки. И если нам необходимо перевести данные других типов данных, например, числа, то нам это будет необходимо сделать самостоятельно, иначе это приведет к возникновению ошибки. Функция print выполняет подобные преобразования автоматически и незаметно для пользователя.

Таким образом, программа со следующим кодом:



import sys



name = 'Вадим'

age = 25



sys.stdout.write(name)

sys.stdout.write(str(age))

sys.stdout.write(age)



Эта программа выводит ошибку предварительно успев вывести значение переменной имени name и переменной возраста age переведенной из типа int в тип str:

Traceback (most recent call last):

File "C:\Users\Saturn\Downloads\Telegram Desktop\test.py", line 8, in

sys.stdout.write(age)

TypeError: write() argument must be str, not int

Вадим25

Process finished with exit code 1



Рассмотрим работу потока вывода при работе с файлами на следующем коде:



import sys



original = sys.stdout # заранее сохраняем потоковый вывод по умолчанию (куда выводим (консоль)), чтобы потом к нему вернуться

sys.stdout = open('employees.txt', 'w') # работаем в потоковым выводом в файле, открываем файл

print('Amili') #записываем имя работника только в файл

print('Mike')

sys.stdout.write('Anna')

sys.stdout.close() # закрываем файл

sys.stdout = original # возвращаем потоковый вывод, который был по умолчанию

print('Возврат к выводу в консоль')



В консоли мы увидим следующий текст:



Возврат к выводу в консоль



В файле будут строки с именами работников:



Amili

Mike

Anna



Таким образом мы смогли перенаправить поток вывода из консоли в файл, записать в него данные при помощи функции print и метода write потока данных, а затем вернуться обратно в консоль.

Подводя итог, функция print печатает данные из потока данных sys.stdout, и является оберткой с дополнительными инструментами (перевод типа данных, перенос строки, сепаратор параметров) вокруг метода write потока данных sys.stdout. В основном при написании программ конечно же удобнее пользоваться функцией print.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!