Вывод значения по умолчанию для отсутствующего ключа словаря
Если вы обратитесь к несуществующему ключу словаря, то это вызовет исключение. Избежать этого можно, вызывая метод
Подписывайтесь на канал 👉@pythonofff
Если вы обратитесь к несуществующему ключу словаря, то это вызовет исключение. Избежать этого можно, вызывая метод
get
. В примере метод выдает None
(по умолчанию) или заданное значение аргумента.Подписывайтесь на канал 👉@pythonofff
👍3
Декораторы
Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции.
Многие библиотеки работают с использованием декораторов:
Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками.
Подписывайтесь на канал 👉@pythonofff
Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции.
Многие библиотеки работают с использованием декораторов:
Flask
и aiogram
хорошие тому примеры.Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками.
Подписывайтесь на канал 👉@pythonofff
👍2
Изучаем две мощные функции map и filter, а также затрагиваем тему анонимных lambda-функций
Эти две функции - очень мощные инструменты в Python, которые входят в тему функционального программирования. Зачастую вместе с ними используют анонимные lambda-функции.
Подробнее
Подписывайтесь на канал 👉@pythonofff
Эти две функции - очень мощные инструменты в Python, которые входят в тему функционального программирования. Зачастую вместе с ними используют анонимные lambda-функции.
Подробнее
Подписывайтесь на канал 👉@pythonofff
👍6
Удаление дубликатов в списке
Первое что приходит на ум — преобразовать список во множество и обратно. Это хороший и рабочий способ. Но если вам нужно сохранить последовательность, то этот способ не подойдёт. С этой задачей легко справится
Подписывайтесь на канал 👉@pythonofff
Первое что приходит на ум — преобразовать список во множество и обратно. Это хороший и рабочий способ. Но если вам нужно сохранить последовательность, то этот способ не подойдёт. С этой задачей легко справится
OrderedDict
из модуля collections
Подписывайтесь на канал 👉@pythonofff
👍4
Как красиво напечатать json в Python?
Вы можете использовать
Подписывайтесь на канал 👉@pythonofff
Вы можете использовать
json.dumps()
в Python, чтобы красиво напечатать json.Подписывайтесь на канал 👉@pythonofff
👍3
Асинхронное программирование
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.
Подписывайтесь на канал 👉@pythonofff
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.
Подписывайтесь на канал 👉@pythonofff
👍6
Станьте веб-разработчиком на Python! Работайте с бэкендом веб-приложений любых масштабов – от прототипов до интернет-магазинов, порталов и сервисов.
Веб-разработчиков на Python активно ищет современный бизнес: стартапы, небольшие и средние частные компании.
👉🏻На курсе вы освоите HTML и CSS, выучите Python – язык с консистентным синтаксисом, единообразной стандартной библиотекой, фреймворками, в том числе Django. Прокачаетесь в алгоритмах, архитектуре, познакомитесь с базой данных SQL и сопутствующими инструментами: командной строкой, Poetry, Git. Напишите 4 рабочих проекта – крутое портфолио!
Мы не просто дадим знания и навыки, а порекомендуем вас работодателям, пригласим на гарантированные собеседования, дадим возможность пройти стажировки в авторитетных компаниях.
Заходите и пробуйте наш формат
Веб-разработчиков на Python активно ищет современный бизнес: стартапы, небольшие и средние частные компании.
👉🏻На курсе вы освоите HTML и CSS, выучите Python – язык с консистентным синтаксисом, единообразной стандартной библиотекой, фреймворками, в том числе Django. Прокачаетесь в алгоритмах, архитектуре, познакомитесь с базой данных SQL и сопутствующими инструментами: командной строкой, Poetry, Git. Напишите 4 рабочих проекта – крутое портфолио!
Мы не просто дадим знания и навыки, а порекомендуем вас работодателям, пригласим на гарантированные собеседования, дадим возможность пройти стажировки в авторитетных компаниях.
Заходите и пробуйте наш формат
Библиотека JmesPath
Как вы уже заметили работать с json файлами в python очень удобно, ведь они отлично конвертируется в словарь. Также мы разобрали полезную библиотеку json, поэтому еще раз говорить о ней не будем.
Но вот нам надо получить данные из файла. А формат json, как правило имеет множество вложений. Искать что-то нужное можно, но не всегда это удобно и красиво (а дзен Python говорит, что красота имеет значение)
JmesPath облегчает работу в несколько раз. Вместо
Подписывайтесь на канал 👉@pythonofff
Как вы уже заметили работать с json файлами в python очень удобно, ведь они отлично конвертируется в словарь. Также мы разобрали полезную библиотеку json, поэтому еще раз говорить о ней не будем.
Но вот нам надо получить данные из файла. А формат json, как правило имеет множество вложений. Искать что-то нужное можно, но не всегда это удобно и красиво (а дзен Python говорит, что красота имеет значение)
JmesPath облегчает работу в несколько раз. Вместо
file['a']['b']['c']
можно написать jmespath.search('a.b.c', file)
. Кажется стало длиннее, но это потому что мы взяли мало элементов, и согласитесь a.b.c выглядит лучше. Даже отредактировать в случае чего будет проще.Подписывайтесь на канал 👉@pythonofff
👍8
Как сравнить строки без учета регистра в Python?
Есть несколько способов сравнить строки без учета регистра в Python:
Использовать метод
Привести обе строки к заглавным или строчным, используя
Пример кода.
Подписывайтесь на канал 👉@pythonofff
Есть несколько способов сравнить строки без учета регистра в Python:
Использовать метод
.casefold()
чтобы игнорировать регистрПривести обе строки к заглавным или строчным, используя
lower()
или upper()
для сравниваемых строкПример кода.
Подписывайтесь на канал 👉@pythonofff
👍10😁1
Библиотека schedule
Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут выполняться с определенным интервалом. Промежуток настраивается как душе угодно и работает до выключения пользователем приложения.
Конечно можно было использовать стандартный таймер, но зачем изобретать велосипед? С данной библиотекой планировка задач станет намного проще и понятнее другим программистам.
Библиотеку необходимо установить:
Подписывайтесь на канал 👉@pythonofff
Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут выполняться с определенным интервалом. Промежуток настраивается как душе угодно и работает до выключения пользователем приложения.
Конечно можно было использовать стандартный таймер, но зачем изобретать велосипед? С данной библиотекой планировка задач станет намного проще и понятнее другим программистам.
Библиотеку необходимо установить:
install schedule
В примере используется seconds, но можно использовать minutes, hour, day.at("8:00"), monday, minute.at(":17"). Если добавлять at, то указываем во сколько именно произойдет событие. Подписывайтесь на канал 👉@pythonofff
👍5
Библиотека Progressbar
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
Подписывайтесь на канал 👉@pythonofff
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
Подписывайтесь на канал 👉@pythonofff
👍5
✅ Запись на курс продлена до 15 апреля. Есть ознакомительный доступ!
После 5-месячного онлайн-курса «Python для пентестера» вы сможете:
✔️ Эффективно использовать базы данных и сеть Интернет;
✔️ Получать данные от сайтов в автоматическом режиме;
✔️ С нуля писать прикладные программы на Python.
Ознакомительный доступ
Преимущества онлайн-курса «Python для пентестера»:
• Понятные и наглядные учебные материалы с информацией для выполнения ДЗ;
• Проверка ДЗ вручную – наставник поможет улучшить написанный вами код;
• Помощь преподавателей при выполнении заданий или в изучении теории;
• Групповой чат в Telegram с другими учениками, проходящими курс;
• Опытные разработчики – команда Codeby School, лидер по информационной безопасности в RU-сегменте.
Если в течение 14 дней вы поймёте, что курс вам не подходит – вы сможете вернуть 100% средств.
Подробное описание https://python-eh.ru/
После 5-месячного онлайн-курса «Python для пентестера» вы сможете:
✔️ Эффективно использовать базы данных и сеть Интернет;
✔️ Получать данные от сайтов в автоматическом режиме;
✔️ С нуля писать прикладные программы на Python.
Ознакомительный доступ
Преимущества онлайн-курса «Python для пентестера»:
• Понятные и наглядные учебные материалы с информацией для выполнения ДЗ;
• Проверка ДЗ вручную – наставник поможет улучшить написанный вами код;
• Помощь преподавателей при выполнении заданий или в изучении теории;
• Групповой чат в Telegram с другими учениками, проходящими курс;
• Опытные разработчики – команда Codeby School, лидер по информационной безопасности в RU-сегменте.
Если в течение 14 дней вы поймёте, что курс вам не подходит – вы сможете вернуть 100% средств.
Подробное описание https://python-eh.ru/
👍1
Как распарсить строку json в Python?
Для того, чтобы распарсить строку json, мы можем перевести её в читаемый для python'а формат dict с помощью метода
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Для того, чтобы распарсить строку json, мы можем перевести её в читаемый для python'а формат dict с помощью метода
.loads()
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
👍5
Как открыть zip файл в Python?
Чтобы открыть zip-файл в Python, вы можете воспользоваться стандартной библиотекой
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Чтобы открыть zip-файл в Python, вы можете воспользоваться стандартной библиотекой
zipfile
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
👍1
infinity
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
Не работает с int, требуется использовать именно float.
Подписывайтесь на канал 👉@pythonofff
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
float('infinity')
или float('inf')
для получения максимально возможного числаfloat('-infinity')
или float('-inf')
для получения минимально возможного числа.Не работает с int, требуется использовать именно float.
Подписывайтесь на канал 👉@pythonofff
👍5🔥1😱1
hex, oct, bin
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
Подписывайтесь на канал 👉@pythonofff
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
int(number, base)
Подписывайтесь на канал 👉@pythonofff
👍3
Регулярные выражения
Метод
Соответственно, этот метод возвращает нужную нам строку.
Подписывайтесь на канал 👉@pythonofff
Метод
sub
позволяет заменить в строке по шаблону на нужный нам текст. repl, string, max=0)
pattern
- шаблонrepl
- на что заменяемstring
- строка по которой ищемmax
- сколько раз заменяемСоответственно, этот метод возвращает нужную нам строку.
Подписывайтесь на канал 👉@pythonofff
👍4👎1
Как создать объекты класса через цикл в Python?
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом
Axes
и модулем random
.Примемр кода.
Подписывайтесь на канал 👉@pythonofff
👍1
Регулярные выражения
Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.
В python для этого есть встроенная возможность, вы можете указать как флаг re.DEBUG. По названию видно, что данный flag помогает дебажить регулярные выражения.
Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.
Подписывайтесь на канал 👉@pythonofff
Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.
В python для этого есть встроенная возможность, вы можете указать как флаг re.DEBUG. По названию видно, что данный flag помогает дебажить регулярные выражения.
Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.
Подписывайтесь на канал 👉@pythonofff
👍3
Как удалить дубликаты из списка в python?
Самый простой способ для удаления дубликатов - использование
Подписывайтесь на канал 👉@pythonofff
Самый простой способ для удаления дубликатов - использование
set()
, но есть и другие варианты. Например, создание нового массива и сравнение добавляемых значений.Подписывайтесь на канал 👉@pythonofff
👍4