Forwarded from Python и 1000 уязвимостей
🗄Подробный Python: или как переступить границу знаний
💬Если вы начали изучать Python, посмотрели с десяток обучающих видео, прошли несколько бесплатных курсов, интенсивов и митапов, и пробуете написать свой первый проект, то эта статья, безусловно, вам поможет.
📌 Поверхностный анализ обучающих русскоязычных материалов по Python в интернете натолкнул на мысль, что начинающему Python-разработчику редко показывают всю красоту и эффективность этого языка. Базовое (чаще непрофессиональное) обучение предполагает знакомство с простейшими механиками, которые часто встречаются и в других языках. Дорогу осилит идущий, а значит, давайте стремиться к большему.
https://tproger.ru/articles/podrobnyj-python-ili-kak-perestupit-granicu-znanij/
@py_1000_prog
💬Если вы начали изучать Python, посмотрели с десяток обучающих видео, прошли несколько бесплатных курсов, интенсивов и митапов, и пробуете написать свой первый проект, то эта статья, безусловно, вам поможет.
📌 Поверхностный анализ обучающих русскоязычных материалов по Python в интернете натолкнул на мысль, что начинающему Python-разработчику редко показывают всю красоту и эффективность этого языка. Базовое (чаще непрофессиональное) обучение предполагает знакомство с простейшими механиками, которые часто встречаются и в других языках. Дорогу осилит идущий, а значит, давайте стремиться к большему.
https://tproger.ru/articles/podrobnyj-python-ili-kak-perestupit-granicu-znanij/
@py_1000_prog
Forwarded from Senior Python Developer
Генерируем QR-код
Необходимый пакет ставится командой
Программа с картинки создаёт QR-код, который при сканировании ведёт пользователя на сайт google, и сохраняет его в новую картинку.
Теперь вы можете генерировать QR-коды в своих приложениях. Полная документация по ссылке.
Необходимый пакет ставится командой
pip install qrcode. Также должна быть установлена библиотека
pillow.Программа с картинки создаёт QR-код, который при сканировании ведёт пользователя на сайт google, и сохраняет его в новую картинку.
Теперь вы можете генерировать QR-коды в своих приложениях. Полная документация по ссылке.
Forwarded from Senior Python Developer
Упрощенная работа с JSON
Есть один интересный пакет
Основные примеры использования показаны на картинке. Метод
Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Есть один интересный пакет
JMESpath, который позволяет декларативно указать, как извлекать элементы из JSON. Основные примеры использования показаны на картинке. Метод
search принимает паттерн, по которому требуется извлечь данные, а также словарь, который сам похож на JSON. Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Forwarded from Senior Python Developer
Библиотека Selenium
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Forwarded from Python Education
Функции и классы в Python
В этом видео автор подробно разбирает работу с функциями и классами в Python.
00:00 Введение в функции
01:00 Как объявить функцию
02:30 Аргументы функции
04:17 Передача нескольких аргументов
09:36 Область видимости переменных
16:17 Итог по функциям
16:54 Классы в Python
17:08 Как объявить класс
17:46 Как сделать экземпляр класса
18:17 Создание переменных
20:01 Создание функции
20:39 Что такое self в классах
21:53 Инициализация переменных
25:50 Когда лучше использовать классы вместо функций
Смотреть это видео на youtube: youtu.be/MgW6AD_y9Uc
В этом видео автор подробно разбирает работу с функциями и классами в Python.
00:00 Введение в функции
01:00 Как объявить функцию
02:30 Аргументы функции
04:17 Передача нескольких аргументов
09:36 Область видимости переменных
16:17 Итог по функциям
16:54 Классы в Python
17:08 Как объявить класс
17:46 Как сделать экземпляр класса
18:17 Создание переменных
20:01 Создание функции
20:39 Что такое self в классах
21:53 Инициализация переменных
25:50 Когда лучше использовать классы вместо функций
Смотреть это видео на youtube: youtu.be/MgW6AD_y9Uc
YouTube
Python с нуля от А до Я #3 [функции и классы в python]
Благодарность и задать вопрос -
http://www.donationalerts.ru/r/beminer
Очень важная тема в изучении языка программирования Python - функции, и немаловажная тема это классы. Когда разберетесь с этими двумя вещами, вам будет намного проще программировать…
http://www.donationalerts.ru/r/beminer
Очень важная тема в изучении языка программирования Python - функции, и немаловажная тема это классы. Когда разберетесь с этими двумя вещами, вам будет намного проще программировать…
Forwarded from Стой под стрелой (Nikita Prokopov)
Опрос, проведенный в интернете, показал, что 28% программистов не знают/не используют регэкспы. Еще 37% их ненавидят.
И тем не менее один из самых практичных советов, которые я могу дать начинающим — разберитесь в регэкспах. Это как плавать — научился один раз, а пользы потом на всю жизнь.
Да, к синтаксису есть вопросы (см. Egg Expressions, Verbal Expressions). Да, можно злоупотребить до write only. Да, HTML не распарсишь. Да, могут быть дырки в перформансе (это, кстати, один из поводов разобраться).
Но это все еще один из самых компактных языков, придуманных человечеством, и один из самых универсальных. Миллион разных задач решаются на ходу одной строчкой регэкспа.
Как разобрать такой вот URL на части?
Нуу, надо наверное библиотеку подключать. А времена сейчас сами знаете какие — закладки против русских атакуют самых незащищенных, то есть джаваскрипт-программистов.
Без библиотеки? Ну наверное как-то так:
Продолжить на три экрана. Порта может не быть, но двоеточие может встечаться позже, где-нибудь в path, но и path может не быть.
Ух, короче. Как представлю, сразу глаз дергается. Лучше уж пусть библиотека выебет меня в ж^W^W^W отформатирует мне диск C:, чем такое вручную писать.
Или... Или можно накидать регэксп! Вот я за пять минут сделал, не подглядывая в интернет:
Да, читается отвратительно. Но при желании можно оформить по-приличнее:
Если я вас сейчас напугал и вы думаете «ну нафиг», то, во-первых, пример чуть экстремальный. Большинство реэкспов в жизни выглядят гораздо прозаичнее, типа
А во-вторых этот страх и есть та самая причина, по которой в регэкспах нужно разобраться. Оно только выглядит непривычно, но если разобраться, станет очевидно, что тут только базовые операции: зведочка, плюсик, вопросик, и группы. Но сколько мощи!
И сколько геморроя это нам сняло! Ценой пяти минут работы мы сжали сотню строчек до одной (или сэкономили подключение целой библиотеки). Причем этот регэксп будет работать быстрее и надежнее любого алгоритма на indexOf, который вы напишете сами.
Но самое классное — это знание переносимо! Регэкспы есть везде: во всех языках, во всех редакторах, во многих консольных утилитах. Они слегка отличаются, но базовые функции примерно одни и те же и записываются одинаково. Что уже неплохо по сегодняшним временам. Настоящий learn once, use everywhere.
Я вижу регэкспы таким же обязательным инструментом, как сложение или там поиск в массиве. Без регэкспов как без рук.
Учите, короче, регэкспы. Потом спасибо скажете.
И тем не менее один из самых практичных советов, которые я могу дать начинающим — разберитесь в регэкспах. Это как плавать — научился один раз, а пользы потом на всю жизнь.
Да, к синтаксису есть вопросы (см. Egg Expressions, Verbal Expressions). Да, можно злоупотребить до write only. Да, HTML не распарсишь. Да, могут быть дырки в перформансе (это, кстати, один из поводов разобраться).
Но это все еще один из самых компактных языков, придуманных человечеством, и один из самых универсальных. Миллион разных задач решаются на ходу одной строчкой регэкспа.
Как разобрать такой вот URL на части?
"https://example.com:8080/path?x=y#fragment"
Нуу, надо наверное библиотеку подключать. А времена сейчас сами знаете какие — закладки против русских атакуют самых незащищенных, то есть джаваскрипт-программистов.
Без библиотеки? Ну наверное как-то так:
let domain = s.indexOf("://", 0) + 3;
let port = s.indexOf(":", domain);
let path = s.indexOf("/", domain);
if (port > path)
port = -1;
...
Продолжить на три экрана. Порта может не быть, но двоеточие может встечаться позже, где-нибудь в path, но и path может не быть.
Ух, короче. Как представлю, сразу глаз дергается. Лучше уж пусть библиотека выебет меня в ж^W^W^W отформатирует мне диск C:, чем такое вручную писать.
Или... Или можно накидать регэксп! Вот я за пять минут сделал, не подглядывая в интернет:
#"([a-z]+)://([^/:?#]+)?(?::(\d+))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?"
Да, читается отвратительно. Но при желании можно оформить по-приличнее:
(re-pattern
(str
"([a-z]+)" ;; schema
"://"
"([^:/?#]*)?" ;; domain
"(?::(\\d+))?" ;; port
"(/[^?#]*)?" ;; path
"(?:\\?([^#]*))?" ;; query
"(?:#(.*))?")) ;; fragment
Если я вас сейчас напугал и вы думаете «ну нафиг», то, во-первых, пример чуть экстремальный. Большинство реэкспов в жизни выглядят гораздо прозаичнее, типа
.*\.(jpg|jpeg|png) или ([^@]+)@(.*). Что не делает их менее полезными!А во-вторых этот страх и есть та самая причина, по которой в регэкспах нужно разобраться. Оно только выглядит непривычно, но если разобраться, станет очевидно, что тут только базовые операции: зведочка, плюсик, вопросик, и группы. Но сколько мощи!
И сколько геморроя это нам сняло! Ценой пяти минут работы мы сжали сотню строчек до одной (или сэкономили подключение целой библиотеки). Причем этот регэксп будет работать быстрее и надежнее любого алгоритма на indexOf, который вы напишете сами.
Но самое классное — это знание переносимо! Регэкспы есть везде: во всех языках, во всех редакторах, во многих консольных утилитах. Они слегка отличаются, но базовые функции примерно одни и те же и записываются одинаково. Что уже неплохо по сегодняшним временам. Настоящий learn once, use everywhere.
Я вижу регэкспы таким же обязательным инструментом, как сложение или там поиск в массиве. Без регэкспов как без рук.
Учите, короче, регэкспы. Потом спасибо скажете.
Forwarded from GitHub Community
mosaic – Утилита для созданя фотомозаических изображений по исходной картинке, используя набор тайлов/плиток¹
Для ее использования необходимо установить Python вместе с библиотекой изображений Pillow.
Помимо изображения для фотомозаики(поддерживаются наиболее распространенные форматы изображений), вам понадобится большая коллекция различных изображений для использования в качестве плиток. Эти изображения могут быть любой формы или размера (утилита автоматически обрезает и изменит их размер), но для хороших результатов вам понадобится их много - по крайней мере, несколько сотен.
1: Tiles - arranged on a computer screen pictures so that they do not overlap
GitHub | #Python #Generator
Для ее использования необходимо установить Python вместе с библиотекой изображений Pillow.
Помимо изображения для фотомозаики(поддерживаются наиболее распространенные форматы изображений), вам понадобится большая коллекция различных изображений для использования в качестве плиток. Эти изображения могут быть любой формы или размера (утилита автоматически обрезает и изменит их размер), но для хороших результатов вам понадобится их много - по крайней мере, несколько сотен.
1: Tiles - arranged on a computer screen pictures so that they do not overlap
GitHub | #Python #Generator
Forwarded from Гайды по Python | Программирование
Forwarded from Гайды по Python | Программирование
Forwarded from Python и 1000 уязвимостей
🧧 22 фрагмента кода на Python для решения ежедневных проблем
В данной статье разберем 22 фрагмента кода на Python, которые очень облегчат вашу жизнь.
http://digit-soul.ru/22-fragmenta-koda-na-python-dlya-resheniya-ezhedn/
В данной статье разберем 22 фрагмента кода на Python, которые очень облегчат вашу жизнь.
http://digit-soul.ru/22-fragmenta-koda-na-python-dlya-resheniya-ezhedn/
1. Принимаем несколько Inputs разделенные пробелом
Данный отрывок кода позволяет принимать на вход несколько inputs, разделенные пробелом, за раз. Штош в некоторых задачах этот код может очень даже пригодится.
Данный отрывок кода позволяет принимать на вход несколько inputs, разделенные пробелом, за раз. Штош в некоторых задачах этот код может очень даже пригодится.
## Taking Two Integers as input
a,b = map(int,input().split())
print("a:",a)
print("b:",b)
## Taking a List as input
arr = list(map(int,input().split()))
print("Input List:",arr)Forwarded from Python и 1000 уязвимостей
▪️ Как создать телеграм-бота на Python за 10 минут? - Смотреть
▪️ Как создать меню для телеграм-бота на Python? - Смотреть
▪️ Загружаем телеграм-бота на Python на сервер (хостинг) - Смотреть
▪️ Кнопки для telegram-бота на Python, часть 1 - Смотреть
▪️ Кнопки для telegram-бота на Python, часть 2 - Смотреть
▪️ Сбор заявок/отзывов через Telegram-бота на Python - Смотреть
▪️ Как создать и залить на сервер телеграм-бота на Python за 15 минут? - Смотреть
▪️ Как прикрепить картинку под текст в Telegram-боте на Python / Разные стили сообщений - Смотреть
▪️ Python-бот для сбора заявок в Telegram - Смотреть
С вас 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from PythonCamp
Forwarded from Книжное хранилище
Glubokoe_obuchenie_Legkaya_razrabotka_proektov_na_Python_2021_Set.pdf
5 MB
Глубокое обучение. Легкая разработка проектов на Python
Автор: Сет Вейдман
Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО.
#python
Автор: Сет Вейдман
Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО.
#python
Forwarded from Технотренды
🐍 5 библиотек Python для красивого вывода на консоль
Использование этих замечательных библиотек поможет вам создавать приложения командной строки, которые понравятся пользователям.
⤷ Читать статью на сайте
Habr Articles | #Python
Использование этих замечательных библиотек поможет вам создавать приложения командной строки, которые понравятся пользователям.
⤷ Читать статью на сайте
Habr Articles | #Python
Forwarded from Python и 1000 уязвимостей
🔥 17 кодовых блоков, которые нужно знать каждому специалисту по обработке данных
💬 17 кодовых блоков, которые помогут вам эффективно справляться с большинством задач и проектов. Разберем условные и итерационные циклы, списки, словари, операторы break и continue многое другое.
📌 Python предлагает несколько упрощенных и универсальных кодов для реализации сложных задач в рамках минимальных кодовых блоков. В отличие от других языков программирования, имеющих довольно сложные аннотации для решения конкретной задачи, Python в большинстве случаев предлагает более простое решение. Каждый специалист по обработке данных должен знать определенные кодовые блоки, чтобы начать свои исследования в области науки о данных и машинного обучения.
Важно помнить, что некоторые строки кода или отдельные кодовые блоки всегда можно повторно использовать, причем в нескольких программах.
Читать статью
🐍 Python и 1000 программ
💬 17 кодовых блоков, которые помогут вам эффективно справляться с большинством задач и проектов. Разберем условные и итерационные циклы, списки, словари, операторы break и continue многое другое.
📌 Python предлагает несколько упрощенных и универсальных кодов для реализации сложных задач в рамках минимальных кодовых блоков. В отличие от других языков программирования, имеющих довольно сложные аннотации для решения конкретной задачи, Python в большинстве случаев предлагает более простое решение. Каждый специалист по обработке данных должен знать определенные кодовые блоки, чтобы начать свои исследования в области науки о данных и машинного обучения.
Важно помнить, что некоторые строки кода или отдельные кодовые блоки всегда можно повторно использовать, причем в нескольких программах.
Читать статью
🐍 Python и 1000 программ
Forwarded from Python Nation🐍🇺🇦
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
👉Подробнее
🐍Python Nation
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
👉Подробнее
🐍Python Nation