Асинхронное программирование
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.
Подписывайтесь на канал 👉@pythonofff
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.
Подписывайтесь на канал 👉@pythonofff
Станьте веб-разработчиком на 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
Как сравнить строки без учета регистра в Python?
Есть несколько способов сравнить строки без учета регистра в Python:
Использовать метод
Привести обе строки к заглавным или строчным, используя
Пример кода.
Подписывайтесь на канал 👉@pythonofff
Есть несколько способов сравнить строки без учета регистра в Python:
Использовать метод
.casefold()
чтобы игнорировать регистрПривести обе строки к заглавным или строчным, используя
lower()
или upper()
для сравниваемых строкПример кода.
Подписывайтесь на канал 👉@pythonofff
Библиотека schedule
Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут выполняться с определенным интервалом. Промежуток настраивается как душе угодно и работает до выключения пользователем приложения.
Конечно можно было использовать стандартный таймер, но зачем изобретать велосипед? С данной библиотекой планировка задач станет намного проще и понятнее другим программистам.
Библиотеку необходимо установить:
Подписывайтесь на канал 👉@pythonofff
Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут выполняться с определенным интервалом. Промежуток настраивается как душе угодно и работает до выключения пользователем приложения.
Конечно можно было использовать стандартный таймер, но зачем изобретать велосипед? С данной библиотекой планировка задач станет намного проще и понятнее другим программистам.
Библиотеку необходимо установить:
install schedule
В примере используется seconds, но можно использовать minutes, hour, day.at("8:00"), monday, minute.at(":17"). Если добавлять at, то указываем во сколько именно произойдет событие. Подписывайтесь на канал 👉@pythonofff
Библиотека Progressbar
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
Подписывайтесь на канал 👉@pythonofff
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
Подписывайтесь на канал 👉@pythonofff
✅ Запись на курс продлена до 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/
Как распарсить строку json в Python?
Для того, чтобы распарсить строку json, мы можем перевести её в читаемый для python'а формат dict с помощью метода
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Для того, чтобы распарсить строку json, мы можем перевести её в читаемый для python'а формат dict с помощью метода
.loads()
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Как открыть zip файл в Python?
Чтобы открыть zip-файл в Python, вы можете воспользоваться стандартной библиотекой
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Чтобы открыть zip-файл в Python, вы можете воспользоваться стандартной библиотекой
zipfile
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
infinity
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
Не работает с int, требуется использовать именно float.
Подписывайтесь на канал 👉@pythonofff
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
float('infinity')
или float('inf')
для получения максимально возможного числаfloat('-infinity')
или float('-inf')
для получения минимально возможного числа.Не работает с int, требуется использовать именно float.
Подписывайтесь на канал 👉@pythonofff
hex, oct, bin
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
Подписывайтесь на канал 👉@pythonofff
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
int(number, base)
Подписывайтесь на канал 👉@pythonofff
Регулярные выражения
Метод
Соответственно, этот метод возвращает нужную нам строку.
Подписывайтесь на канал 👉@pythonofff
Метод
sub
позволяет заменить в строке по шаблону на нужный нам текст. repl, string, max=0)
pattern
- шаблонrepl
- на что заменяемstring
- строка по которой ищемmax
- сколько раз заменяемСоответственно, этот метод возвращает нужную нам строку.
Подписывайтесь на канал 👉@pythonofff
Как создать объекты класса через цикл в Python?
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом
Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом
Axes
и модулем random
.Примемр кода.
Подписывайтесь на канал 👉@pythonofff
Регулярные выражения
Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.
В python для этого есть встроенная возможность, вы можете указать как флаг re.DEBUG. По названию видно, что данный flag помогает дебажить регулярные выражения.
Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.
Подписывайтесь на канал 👉@pythonofff
Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.
В python для этого есть встроенная возможность, вы можете указать как флаг re.DEBUG. По названию видно, что данный flag помогает дебажить регулярные выражения.
Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.
Подписывайтесь на канал 👉@pythonofff
Как удалить дубликаты из списка в python?
Самый простой способ для удаления дубликатов - использование
Подписывайтесь на канал 👉@pythonofff
Самый простой способ для удаления дубликатов - использование
set()
, но есть и другие варианты. Например, создание нового массива и сравнение добавляемых значений.Подписывайтесь на канал 👉@pythonofff
Библиотека Flask
Если вы работали с запросами, к примеру на библиотеке request, то знаете, что существуют несколько видов запросов.
К примеру, в браузере при получении страницы это метод
Какие есть методы?
Основных 4:
GET — получение ресурса
POST — отправить данные
PUT — обновление данных
DELETE — удаление данных
Flask позволяет обрабатывать данные запросы посредством добавления аргумента
Подписывайтесь на канал 👉@pythonofff
Если вы работали с запросами, к примеру на библиотеке request, то знаете, что существуют несколько видов запросов.
К примеру, в браузере при получении страницы это метод
GET
. Когда вы отправляете пароль и логин серверу (или другие данные) - POST. Кроме этого существуют запросы сугубо для программ, а не для браузера.Какие есть методы?
Основных 4:
GET — получение ресурса
POST — отправить данные
PUT — обновление данных
DELETE — удаление данных
Flask позволяет обрабатывать данные запросы посредством добавления аргумента
methods
в декоратор. Подписывайтесь на канал 👉@pythonofff
Подборка каналов для IT специалистов 🎯
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Вакансии 📌
https://t.me/progjob Вакансии для программистов
Системное администрирование 📌
https://t.me/i_DevOps Все для DevOps
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv GameDev: разработка игр
Программирование, Биг дата, книги 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/coddy_academy Академия кода
Шутки программистов 📌
https://t.me/itumor ITumor | программисты шутят
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Важные методы в Python, которые должен знать каждый python разработчик.
Подписывайтесь на канал 👉@pythonofff
abs()
- возвращает модуль переданного параметра.all()
- функция возвращает значение True, если все элементы в итерируемом объекте - истинны. В противном случае, она возвращает значение False.any()
- функция возвращает True, если какой-либо (любой) элемент в итерируемом объекте является истинным True. В противном случае, any() возвращает значение False.ascii()
- возвращает строку, содержащую печатное представление объекта, и экранирует символы, отличные от ASCII, в строке с помощью экранирования \ x, \ u или \ U.bin()
- функция преобразует целое число в двоичную строку с префиксом 0b. Подписывайтесь на канал 👉@pythonofff
Функция sum()
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции sum().
Cинтакс функции
Параметры
Возвращаемое значение из
Подписывайтесь на канал 👉@pythonofff
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции sum().
Cинтакс функции
sum():
start)
Параметры
sum()
:iterable
- итерируемые типы (list ,dict, tuple, и.т.д.) start
- (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable
. По умолчанию значение этого параметра 0.Возвращаемое значение из
sum()
:sum()
возвращает сумму start
и элементов всех последующих элементов. Подписывайтесь на канал 👉@pythonofff
Mодуль cmath
Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
📌Функция
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
📌Функция
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
📌Функция
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
Подписывайтесь на канал 👉@pythonofff
Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция
polar()
:Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
📌Функция
phase()
:Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
📌Функция
rect()
:Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
📌Функция
sin()
:Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
Подписывайтесь на канал 👉@pythonofff
Как удалить элемент из словаря в python по ключу?
Вы можете использовать del <Список>["<Ключ>"]
# Вывод : {'The Mist': 13, '11/22/63': 17, 'The Green Mile': 14, 'Fairy Tale': 10, 'End of Watch': 18}
Подписывайтесь на канал 👉@pythonofff
Вы можете использовать del <Список>["<Ключ>"]
costs = {
"The Mist" : 13,
"Mile 81" : 12,
"11/22/63" : 17,
"The Green Mile" : 14,
"Fairy Tale" : 10,
"End of Watch" : 18
}
del costs["Mile 81"]
print(costs)
# Вывод : {'The Mist': 13, '11/22/63': 17, 'The Green Mile': 14, 'Fairy Tale': 10, 'End of Watch': 18}
Подписывайтесь на канал 👉@pythonofff