Перейти к содержанию

Python

Точка входа

Точка входа

В программах, написанных на Python часто можно увидеть такую конструкцию:

if __name__ == "__main__":

Это точка входа — место, с которого начинает выполняться ваша программа.

Пользователь сможет ввести какую-то строку в консоль, она будет обработана функциями из модулей calculations и my_module, а затем выведена на экран. Это позволяет разместить в нем код, который помешал бы импорту содержимого модуля, но нужен при непосредственном доступе.

Тонкости чтения из текстовых файлов в Python

Тонкости чтения из текстовых файлов в Python

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

Мы обычно никогда не заморачиваемся с нюансами применения той или иной функции или популярной конструкции Python, бездумно используя первый же попавшийся, взятый в бездонных недрах Internet, работоспособный вариант этих инструментариев. > Примечание: С целью закрепления материала посредством выполнения приведенных в этой статье практических примеров, рекомендуется сначала скачать соответствующие текстовые (Markdown) файлы и , а затем сохранить их в той директории, где вы собираетесь далее работать.

Присваивания переменных внутри выражений Python оператором Walrus

Присваивания переменных внутри выражений Python оператором Walrus

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

Возможно, существованием именно таких неоднозначностей при применении данного оператора, в частности, было продиктовано бурное обсуждение этого новшества, по итогам которого Гвидо ван Россум (автор Python) все-таки принял его в июле 2018 году и, с тех пор объявил, что устраняется от роли главы проекта – доброжелательного диктатора (BDFL). Однако в данном случае переменная representative, показывая лишь какой элемент списка был обработан последним, не является информативной, поскольку название Гамбург содержит менее десяти символов и не удовлетворяет заданному в программе условию.

Работа с ZIP архивами с помощью Python

Работа с ZIP архивами с помощью Python

Развитие информационных технологий (IT) и расширяющаяся потребность в сервисах по обработки данных приводит к тому, что вновь создаваемые программные продукты, как правило, должны иметь дело с огромными массивами разнообразной цифровой информации.

Но, следует учесть, что для получения максимальной отдачи от этой статьи, вы должны иметь представление об основах работы с файлами, использовании with инструкции и обработки путей для файловой системы с помощью pathlib, а также быть знакомы с объектно-ориентированным программированием и знать работать с классами. Поэтому, для гарантии использования в вашей программе действительно корректного ZIP-файла, работающий с ним ZipFile класс вы можете предварительно обернуть в оператор try ... except и, таким образом, перехватить соответствующее BadZipFile исключение:

На каком языке написана игра Super Mario Brothers?

На каком языке написана игра Super Mario Brothers?

Одной из самых увлекательных и красивых областей программирования является создание компьютерных игр.

Мы хорошо помним, что игра Super Mario продавалась в виде игрового картриджа для видеоприставки Nintendo Entertainment System на основе 8-битного микропроцессора Ricoh 2A03. Чтобы заставить этот чип воспроизводить увлекательные игры, необходимо было создавать код из прямого набора команд этому процессору.

Обработка изображений с помощью библиотеки Pillow в Python

Обработка изображений с помощью библиотеки Pillow в Python

Вряд ли кто-то из нас – Python разработчиков не возжелал бы прихвастнуть среди коллег или при устройстве на работу наличием в своем портфолио крутого ПО, работающего с графикой и не уступающего по возможностям (хотя бы частично) супернавороченным редакторам, подобным PhotoShop.

На данный момент такие растровые графические редакторы, как PhotoShop предоставляют десятки подобных фильтров, позволяющих применять к изображениям самые невероятные эффекты начиная от различных способов размытия, определения границ, повышения резкости, и заканчивая разными искажениями, шумами, стилизациями и т.д. Если же мы захотим углубиться в более продвинутые методы обработки изображений, например, для создания приложений в сфере машинного обучения и компьютерного распознавания, то Pillow в этом случае может как нельзя кстати пригодится в качестве первой ступени для изучения более специализированных библиотек типа OpenCV или scikit-image.

Обратные строки и инструменты работы с ними в Python

Обратные строки и инструменты работы с ними в Python

Строки – один из важных и очень популярных элементов программирования в Python.

Поскольку при применении оператора среза, результирующая от него обратная строка генерируется в виде нового объекта, то данный способ в плане использования памяти является менее эффективным, нежели функция reversed(). Поскольку подкласс ObratnayaStroka и его родительский класс UserString предоставляют нам тот же функционал, что и базовый суперкласс str, то мы можем использовать раннее рассмотренную внутреннюю Python функцию reversed() для обратной итерации, как говорится, прямо из коробки:

Как написать генератор-выражения (generator expression)

Как написать генератор-выражения (generator expression)

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

Таким образом, Python генераторы являются незаменимым инструментарием практически во всех тех случаях, когда мы имеем дело с очень большими, почти бесконечными последовательностями, которые вследствие их размеров, зачастую не только невозможно загрузить в оперативную память, но и записать на жесткий диск. py3 print(next(kvadraty)) # вызов каждого последующего элемента генератора-выражения pycon Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration # исключение, останавливающее итерацию

Основные строковые методы, используемые в Python

Основные строковые методы, используемые в Python

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

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

Применение геттер и сеттер методов для закрытых атрибутов классов

Применение геттер и сеттер методов для закрытых атрибутов классов

Одним из основополагающих принципов существования всего живого в нашем мироздании является инстинкт самосохранение – набор своеобразных предохранителей, оберегающих живые существа от какого-либо вреда.

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