Шмелев Андрей
Шмелев Андрей Подписчиков: 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
Подписаться
Донаты ₽
Главная
Коллективные
иски
Добавить Видео Опросы