Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
Сколько стоят операции над list, set и dict в Python? Разбираемся с временной сложностью
Программисту, работающему с данными, крайне важно выбирать правильные структуры данных для решения поставленной задачи, ведь выбор неправильного типа данных плохо влияет на производительность приложения.
Смотреть статью
Передача функции в другую функцию
В Python есть возможность передать функцию в качестве аргумента, чтобы потом использовать её внутри другой функции.
Однако такая гибкость может плохо влиять на читаемость кода, поэтому пользоваться фичей нужно с осторожностью.
Знаю знаю, очень легко(для старичков Питона)
P.S. Не совсем легко
Проверяем правильность пути к файлу
Метод os.path.isfile() возвращает логическое значение класса bool. Метод os.path.isfile() возвращает True, если указанный путь является существующим обычным файлом. В противном случае возвращается False.
Логические значения чисел
Функция bool() преобразует объект в логическое значение. Язык также позволяет производить логические операции and, or, not с числами.
При преобразовании чисел к логическим значениям все числа кроме нуля преобразовываются в True. Лишь 0 переходит в False.
Логические операции с числами работают согласно таблицам истинности операторов.
«Хочу создать Android-приложение, а еще бота и визуализацию данных... Черт,а как?»
Часто посещают такие мысли, но нет навыка? Все крутые идеи остаются нереализованными из-за отсутствия знаний?
Загляни на канал к змейке🐍,она тебя быстро всему обучит
И основы изучишь и скрапинг сайтов на раз-два сделаешь
После подписки на Pyton expert без знаний еще не уходил никто
Разбор веб-страниц
Разбор веб-страниц (scraping) нужен для многих целей: от борьбы с сервисами, которые не предоставляют API, до создания поисковых систем.
Для демонстрации мы извлечем заголовки новостей с главной страницы журнала. C помощью библиотеки requests и парсера HTML BeautifulSoup мы можем сделать это всего в несколько строк.
Установим библиотеки: pip3 install requests beautifulsoup4. Теперь откроем xakep.ru в отладчике браузера и увидим, что заголовки новостей находятся в тэгах <h3 class="entry-title">, но не напрямую, а во вложенных <a> и <span>. К счастью для нас, BeautifulSoup поддерживает селекторы CSS3, а в ее стандарте tag1 tag2 как раз означает «<tag2> вложенный в <tag1>. То есть, наш селектор для заголовков новостей будет h3.entry-title a span.
Сохрани в файл вроде xakep-headings.py и выполни python3 xakep-headings.py или просто скопируй в интерпретатор, и ты увидишь все свежие новости.
#Вопросы_с_собеседования
❓Когда выполняется except, в блоке try-except?
Блок try-except обычно используется, когда мы хотим что-то выполнить, если возникли ошибки. except выполняется, когда код в блоке try вызвал ошибки.
☃️ Бесплатно освойте профессию дизайнера с нуля. Вместе сделаем вам портфолио из 4+ работ с личной поддержкой от наставника.
Что вы получите?
— Фидбэк (мощный разбор всех ДЗ от куратора)
— Тусовка (личный кабинет с уроками + живой чат)
— Портфолио и экзамен (упакуем по урокам и проверим)
— Мастер-класс "как заработать на дизайне" и найти клиента
🔥 Будем делать: веб-дизайн, графический дизайн, анимацию интерфейсов.
→ Начать обучение бесплатно
Программа бесплатного курса:
— Обучение по Figma с нуля и 4+ дз с личным разбором
— Изучение основ дизайна (контент, сетки, композиция т.д.)
— Создание анимации интерфейса
— Все о профессии и доходе дизайнера (как найти клиентов и сколько можно заработать)
👉 Первый урок уже сегодня, кликайте сюда и забирайте все бонусы
Вычисление размера объектов
Так как в python всё является объектами, мы можем вычислить размер практически у всего с помощью sys.getsizeof()
.
Функция getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные данные сборщика мусора. Хотя все встроенные объекты вернут верный размер, в общем случае это не будет так для пользовательских объектов.
Заварил чай, написал код за полтора часа, заработал 5000-8000₽, весь день свободен.
Так проходят будни новичка в Python: сперва делаешь 150-250к в месяц на простеньких заказах, дальше берёшь в работу миллионые проекты, где сам только поправляешь новичков.
Думаешь, что код нереально сложно выучить? Вообще нет, особенно с Python и 1000 программ. Внутри целая библиотека курсов, видеоинструкций и пошаговых гайдов. Изложено так просто, что научится кодить даже гуманитарий.
Сохрани лучший канал по Python в Telegram: @py_1000_prog 🐍
40 проектов на Python для новичков и продвинутых разработчиков
Сорок проектов для начинающих и продвинутых программистов: консольные, десктопные, веб- и ИИ-приложения.
Смотреть статью
Стать Python-разработчиком с нуля – легко!
Приходите на онлайн-вебинар, посвященный Python-разработке, который пройдет 19-20 января в 19:00 (мск)!
За 2 дня вы:
✔️Узнаете в каких сферах применяется Python и какие карьерные пути могут быть у разработчика.
✔️Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
✔️Научитесь писать код, освоив базовые знания синтаксиса языка.
✔️Разберетесь как устроены Telegram-боты и напишите своего.
🎁 Все участники вебинара получат приятные бонусы от Хекслета!
👨💻 Курс «Django - разработка веб-приложений»
Старт: 9 января
Продолжительность: 3 месяца
❗️ Записаться на зимний поток можно до 19 января включительно!
Курс поможет научиться работать с самым популярным фреймворком для Python - Django. Он позволяет разрабатывать сайты любой сложности, от личного блога до новостного портала. После прохождения курса вы сможете разрабатывать с нуля сайты на Django, верстать интерфейсы, и создавать интеграцию с бэкендом приложения.
ℹ️ Для прохождения курса необходимо знать основы HTML, CSS, Python, а также уметь работать с базой данный MySQL/MariaDB
🎓 Кому будет полезен курс:
✔️ Новичкам, которые никогда не имели дела с фреймворками, и хотят научиться создавать приложения;
✔️ Специалистам, желающим сменить сферу деятельности;
✔️ Начинающим разработчикам, которые хотят попробовать связку Python + Django;
✔️ Будущим предпринимателям в IT сфере.
Подробнее: https://codeby.school/catalog/-kurs-django-razrabotka-veb-prilogheniy
Telegram-бот на Python за полчаса с aiogram
Напишем простой диалоговый Telegram-бот на Python, который в дальнейшем можно дополнить различными функциями, и задеплоим его.
Смотреть статью
Создание объектов, поддерживающих выражение with
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов __enter__
и __exit__
(первая картинка).
Это — наиболее распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще (вторая картинка).
Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
Надоели скучные видео уроки, по которым невозможно учиться?
Команда Devman ломает классический порядок образования – никакой теории в отрыве от задач! Ребята разработали крутые методики обучения, протестировали их на учениках и запустили быстрый и эффективный курс-профессию до мидла.
Бесплатная пробная неделя стартует 23 января.
На первой неделе вы:
— Начнете писать код с первого занятия;
— Напишите до 2 собственных небольших проектов на Python;
— Получите фидбек от опытного программиста и узнаете, какие скиллы необходимо подтянуть.
Приходи на пробную неделю обучения и погрузись в рабочие будни python разработчика → bit.ly/3w7PRH2
Реклама. ООО Девман 2VtzquiuK4X
Просмотр видео
moviepy неплохо совмещается с другими библиотеками. В примере кода показано, как запустить видеоролик с его помощью. Для этого также понадобится библиотека pygame.
В сети начали находить курсы известных онлайн-школ в открытом доступе, баг или фича?
Вот отсортированная база с тонной материала, где ребята оставили только лучшее:
ПОЛНАЯ БАЗА (4256 видео)
(324 видео) – Figma
(307 видео) – Photoshop
(344 видео) – Illustrator
(129 видео) – InDesign
(306 видео) – UX/UI
(332 видео) – After Effects
(275 видео) – Blender
(547 видео) – Промышленный Дизайн
(783 видео) – Основы Дизайна
(383 видео) – Верстка
(358 видео) – Frontend
(215 видео) – CSS
(223 видео) – HTML
Скачивать ничего не нужно — все выложили на YouTube с доступом по ссылке.
Походу ошибочка 🎨
Метод Counter.most_common()
Возвращает список из n наиболее распространенных элементов и их количество от наиболее распространенных до наименее. Если n опущено или None, метод cnt.most_common() возвращает все элементы в счетчике.
Элементы с равным количеством упорядочены в порядке, в котором они встречаются первыми.
6 Python декораторов, которые значительно упростят ваш код
Декораторы могут помочь вам писать меньше кода для реализации сложной логики и повторно использовать его повсюду.
Смотреть статью
SQL теперь в телеграм!
SQL — главный язык программирования баз данных. Базы данных есть везде: от маленького интернет-магазина до социальной сети. Знание SQL очень важно для любого программиста! Его будет легко выучить, если подписаться на официальный русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
Как вернуть двоичный код целого числа?
Используйте функцию bin().
Лимит рекурсии
В Python иногда возникает RecursionError
во время создания рекурсивных алгоритмов (даже при решении простых университетских задач), однако с помощью модуля sys
можно изменить максимальную глубину рекурсии, чтобы избежать появления этой ошибки.
Но надо помнить, что делать это — опасное занятие, ибо каждый новый вызов занимает достаточно много памяти. В реальных проектах нужно стараться использовать не рекурсию, а обычные циклы.
Beautiful soup
Когда вы вытаскиваете HTML с какого-то сайта, то сначала проводите его разбор и отсекаете все ненужное. Beautiful Soup — это Python-библиотека по сбору данных из HTML и XML-файлов. В ней представлены простые методы для навигации, поиска и парсинга. Это очень мощная библиотека, которая умеет обрабатывать все виды HTML, даже если он сломан. Уж поверьте моему опыту, HTML ломается довольно часто, поэтому такая функция окажется как нельзя кстати.
Beautiful Soup парсит все, что захотите. С его помощью вы, например, можете вытащить все ссылки или найти заголовок таблицы, выделенный жирным. На первой картинке приведен HTML, а на второй - несколько примеров работы с ним. Документация доступна по ссылке.
Генерируем пароли и токены
Модуль secrets используется для генерации криптографически сильных случайных чисел, подходящих для управления такими данными, как пароли, аутентификация учетной записи, токены безопасности и связанные секреты.
В частности, secrets следует использовать по умолчанию вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
В нашем примере мы генерируем пароль из 20 символов, который будет состоять из цифр и букв английского алфавита.
Подробнее про модуль secrets можно почитать здесь.
Удаление красного, зеленого и синего канала из цветного изображения в Python
Чтобы удалить красный канал из цветного изображения, считайте изображение в массив BGR с помощью cv2.imread() и присвойте нули 2D-массиву, соответствующему красному каналу.
В этом примере мы удалим красный канал со следующего изображения.
Ознакомиться подробнее c удалением других каналов можно здесь.
Перевод списка строк в список чисел
1 вариант
Наиболее идиоматический и идеологически выверенный способ
2 вариант
Для любителей функционального стиля
Тут функция map применяет функцию int к каждому элементу объекта a, потом результат преобразовывается в список.
Такой вариант считается менее "питоничным", но тоже имеет право на существование (как минимум, во многих случаях запись через map получается более компактной, чем вариант через списочное выражение).
Method Resolution Order
В Python существует так называемый порядок разрешения методов в классе. Это порядок, где Python ищет нужный атрибут или метод.
Его можно получить при помощи атрибута __mro__
. Если мы в примере обратимся к val
, Python будет искать сначала в классе A
, далее в B
, затем в C
и потом в object
.
Атрибут быстрее всех будет найден именно в классе B
и будет равен значению 1.
Проигрывание аудио с playsound
Данный пакет содержит всего одну функцию для проигрывания аудиофайлов. На вход эта функция принимает адрес файла в файловой системе компьютера.
Установка - pip install playsound.
Документация лежит здесь.