Шмелев Андрей
Шмелев Андрей Подписчиков: 87

50 команд на Python часть 6. Модуль with, Print, memoryview, Файлы, Выдача

1 дочитывание
0 комментариев
Эта публикация уже заработала 0,05 рублей за дочитывания
Зарабатывать

50 команд на Python часть 6. Модуль with, Print, memoryview, Файлы, Выдача

31. Модуль with


Команда 'with' дает возможность обернуть блок кода методами, определенными менеджером контекста. Это может помочь очистить код и облегчить чтение того, что должен делать данный фрагмент кода спустя месяцы. Классическим примером использования 'with' является работа с файлами. Вы можете использовать что-то вроде "with open ("myfile. txt", "r") as f:". Это откроет файл и подготовит его к чтению. Затем вы можете прочитать файл в блоке кода с помощью 'data=fread ()'. Самое приятное в этом то, что файл будет автоматически закрыт при выходе из блока кода, независимо от причины. Таким образом, даже если блок кода выбросит исключение, вам не нужно беспокоиться о закрытии файла как части обработчика исключений. Если у вас есть более сложный пример "with", вы можете создать класс менеджера контекста, чтобы помочь.

32. Print


Самым прямым способом вывода информации пользователю является команда print. Она отправляет текст в окно консоли. Если вы используете версию 2.X Python, есть несколько способов использовать команду print. Самый распространенный способ - просто вызвать ее как 'print "Some text"'. Вы также можете использовать print с тем же синтаксисом, что и для любой другой функции. Так, приведенный выше пример будет выглядеть как 'print ("Some text")'. Это единственная форма, доступная в версии 3.X. Если вы используете синтаксис функции, вы можете добавить дополнительные параметры, которые дают вам более тонкий контроль над выводом. Например, вы можете задать параметр 'file=myfile.txt' и получить вывод команды print в заданную текстовую папку. Команда также принимает любой объект, имеющий некоторое строковое представление.


33. Memoryview


Иногда вам нужно получить доступ к необработанным данным некоторого объекта, обычно в виде буфера байтов. Вы можете скопировать эти данные и поместить их, например, в массив байтов. Но это означает, что вы будете использовать дополнительную память, а для больших объектов это может оказаться неприемлемым. Команда 'memoryview (имя_объекта)' оборачивает объект, переданный команде, и предоставляет интерфейс к необработанным байтам. Она предоставляет доступ к этим байтам по одному элементу за раз. Во многих случаях размер элементов равен одному байту. Но, в зависимости от деталей объекта, вы можете получить элементы большего размера. Размер элемента в байтах можно узнать с помощью свойства 'itemsize'. Создав представление памяти, вы можете получить доступ к отдельным элементам, как вы получаете элементы из списка (например, mem_view[1]).

50 команд на Python часть 6. Модуль with, Print, memoryview, Файлы, Выдача

34. Файлы


При работе с файлами необходимо создать объект файла, чтобы взаимодействовать с ним. Команда file принимает строку с именем и местоположением файла и создает экземпляр объекта file. Затем вы можете вызывать такие методы объекта файла, как 'open', 'read' и 'close', чтобы получить данные из файла. Если вы выполняете обработку файла, вы также можете использовать метод 'readline'. Для упрощения процесса открытия файла существует явная команда 'open ()'. Она принимает строку с именем файла и необязательный параметр, который представляет собой строку, определяющую режим работы. По умолчанию файл открывается только для чтения ('r'). Вы также можете открыть его для записи ('w') и добавления ('a'). После открытия файла возвращается объект файла, чтобы вы могли работать с ним дальше. Вы можете читать его, записывать в него и, наконец, закрыть его.

35. Выдача


Во многих случаях функции может потребоваться передать контекст выполнения другой функции. Это относится к генераторам. Предпочтительным методом для генератора является то, что он вычисляет следующее значение только тогда, когда оно запрашивается через метод 'next ()'. Команда 'yield' сохраняет текущее состояние функции-генератора и возвращает управление выполнением вызывающей функции. Таким образом, сохраненное состояние генератора перезагружается, и генератор начинает работу с того места, где он остановился, чтобы вычислить следующее запрашиваемое значение. Таким образом, вам нужно иметь достаточно памяти, чтобы хранить только минимум для вычисления следующего необходимого значения, а не хранить в памяти все возможные значения сразу.

Понравилась публикация?
5 / 0
нет
0 / 0
Подписаться
Донаты ₽

Размышления о ситуации с информатикой в школе…

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

10 самых востребованных профессий мира сегодня

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

Кибердом: Мир без границ! Новый трек.

Киберхауз: Мечты, код и...будет ли всё ок? Новый трек! Представь себе: ты просыпаешься в уютном доме, который на самом деле – огромный виртуальный мир. Здесь нет стен и границ, только бесконечные возможности!
03:55
Поделитесь этим видео

Панегирик печального юзера инета. Все, как один, на борьбу со спамом!

Эй, чуваки! Когда я откинусь, не хороните меня в земле, а забросьте мой код в интернет, типа, спрячьте на каком-нибудь сайте. Пусть я там витаю, как призрак, слушаю, как всё крутится: сервера жужжат,...
01:45
Поделитесь этим видео

Сборка

Холодный подмосковный ветер проникал сквозь щели старой дачи, заставляя Дмитрия ...

Как моя подруга трудоустраиваться ходила или вся правда о курсах программирования

Я бы сказала, трудноустраиваться. Обо всём по порядкуВ мире современных технологий образовалось, условно говоря два основных лагеря:Те, кто хочет заработатьТе, кто хочет заработать на тех, кто хочет заработать.