Найти в Дзене
Основы работы с исключениями
try: # Код, который может вызвать исключение result = 10 / 0 except ZeroDivisionError: # Обработка ошибки деления на ноль result = None print(result) try: x = int(input()) y = 10 / x except (ValueError, ZeroDivisionError) as e: print(f"Ошибка: {e}") else: print("Ошибок нет, результат:", y) finally: print("Этот код выполняется в любом случае") def check_positive(num): if num < 0: raise ValueError("Число должно быть положительным") check_positive(-5) try: num = int(input("Введите число: ")) result = 100 / num except ValueError: ...
5 месяцев назад
Модуль os в Python — генерация путей и метод listdir
os — это стандартный модуль Python для работы с операционной системой. Он включает функции для управления файлами, каталогами, путями и окружением, которые работают на разных ОС (Windows, Linux, macOS) и обеспечивают переносимость кода. Для безопасной и корректной генерации путей к файлам и папкам в различных ОС используется вложенный модуль os.path. import os path = os.path.join("home", "user", "documents") print(path) # Windows: home\user\documents # Linux/macOS: home/user/documents os.listdir(path) — возвращает список всех файлов и папок в указанной директории path...
5 месяцев назад
Подробный гайд по кортежам
Кортежи tuple в Python предназначены, как и списки, для хранения последовательностей, состоящих из данных любого типа. Однако, в отличие от списков, кортежи относятся к неизменяемым типам данных. По этой причине в них часто хранят информацию, которую необходимо защитить от случайного изменения – например, конфигурационные данные. 1. Кортежи не поддерживают добавление и удаление элементов, но допускают расширение и дополнение для тех элементов, которые относятся к изменяемым типам (списки, словари), а также любые операции с элементами элементов: >>> numbers = ([1, 2, 3, 4], [5, 4, 5]) >>> numbers[1]...
5 месяцев назад
Списочные включения
Списочные включения (list comprehensions) в Python — это компактный, удобный и мощный синтаксис для создания новых списков из существующих итерируемых объектов с возможностью трансформации и фильтрации элементов в одну строку кода. Списочное включение — это конструкция, которая позволяет создать новый список путем применения выражения к каждому элементу исходного набора данных (например, списка, строки, диапазона) и, при необходимости, с добавлением условий для фильтрации элементов. Основной синтаксис выглядит так: python[выражение for элемент in итерируемый_объект if условие] squares = [x**2 for...
5 месяцев назад
Функция zip
Функция zip() в Python принимает несколько итерируемых объектов (например, списки, кортежи, строки) и объединяет их элементы по индексам в кортежи, создавая итератор таких кортежей. Каждый кортеж содержит элементы, взятые из всех переданных итерируемых объектов, с одинаковым индексом. Функция останавливается, когда элементы заканчиваются в самом коротком из переданных объектов. Пример работы функции zip с двумя списками: x = [1, 2, 3] y = [4, 5, 6] zipped = zip(x, y) print(list(zipped)) # Выведет: [(1, 4), (2, 5), (3, 6)] Функция возвращает не список, а итератор, поэтому для вывода чаще используется преобразование в список с помощью list()...
5 месяцев назад
Составные ключи Python словари
Составные ключи в словарях Python — это такой способ организации данных, при котором ключом не является один простой объект (например, строка или число), а кортеж или другой неизменяемый составной тип данных. Это позволяет использовать для поиска и идентификации элементов словаря комбинацию нескольких значений. В Python словарь (dict) — это коллекция пар «ключ — значение», где каждый ключ должен быть хешируемым (неизменяемым) объектом, например, числом, строкой, кортежем и т.д. Составной ключ — это обычно кортеж (tuple), который содержит несколько элементов, например (серия, номер) или (город, улица, дом)...
5 месяцев назад
Функция map
Функция map() в Python применяется для последовательного вызова заданной функции ко всем элементам одного или нескольких итерируемых объектов (например, списков, кортежей). В результате map() возвращает итератор с результатами применения функции к элементам. Главная идея: вместо явного цикла for вы указываете функцию и итерируемые объекты, а map() поочерёдно передаёт в функцию элементы и возвращает преобразованные значения. Например, чтобы превратить каждый элемент списка в строку или применить математическую операцию — функция map() делает это компактно и эффективно...
6 месяцев назад
Множества Python
Множество (set) — это изменяемый набор уникальных и неупорядоченных элементов. Представьте, что вы пришли на пляж и собрали в пакет коллекцию ракушек — каждая ракушка отличается от другой и не имеет чётко обозначенного места в пакете. Такую коллекцию можно совершенно легитимно назвать множеством :) Перечислим основные свойства множеств: Так как множества неупорядоченны, вы не сможете получить элемент по индексу, как в случае с кортежами и списками. Зато можно очень быстро проверить наличие элемента...
6 месяцев назад
Как я выучил Python и вышел на работу. Я попробовал пройти спонтанно курс на Skillbox Python разработчик. Я оплачивал не полностью, по сплит системе и через Lerna, которая дала скидку 50%. Курс мне понравился и в нем оказалось много информации, из за которых действительно приходилось заниматься от 2 до 6 часов в день, иногда занимался просто весь день. В принципе если пройти его полностью, то стать разработчиком после прохождения нескольких собеседований вполне реально.
6 месяцев назад
Как найти уязвимость в коде
Для поиска уязвимостей в исходном коде программного обеспечения можно использовать несколько основных методов: 1. Ручной статический анализ кода. 2. Использование автоматизированных статических анализаторов кода (SAST-инструменты). 3. Анализ с помощью современных средств и моделей (например, CodeQL). 4. Использование средств с искусственным интеллектом, таких как GitHub Copilot Chat. 5. Общие рекомендации при поиске уязвимостей: Сам процесс обычно включает в себя: Таким образом,...
6 месяцев назад
Всего 5 шагов, чтобы гарантированно стать программистом
В 2025 году нет единого «единственного способа» стать программистом, но существуют проверенные пути, которые помогают успешно освоить эту профессию с нуля. Важно определить свои интересы, выбрать направление, изучить нужные технологии и постоянно практиковаться. В 2025 году существует несколько основных путей для освоения профессии программиста: После освоения навыков и создания портфолио...
6 месяцев назад