Python School
89.1K subscribers
2.13K photos
5 videos
535 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official
Download Telegram
Управляем браузером. Библиотека Selenium.

При выполнении данного кода откроется браузер Firefox и перейдет на сайт google.com.

Возможности:

1. Автоматизация работы браузера.
2. Парсинг сайтов.
3. Нажатие на кнопки.
4. Эмуляция различных действий пользователя.
5. Отправка GET/POST запросов.
6. Открытие окон.
7. Поддержка основных браузеров.

Документация, установка.
​​Прикоснитесь к миру разработки на Python! Пройдите бесплатный интенсив Skillbox и начните осваивать один из самых распространённых языков программирования.

Регистрируйтесь: 👉 https://clc.am/GZ0NiQ.

📌 Освоите азы программирования на Python и разберёте основные элементы языка.
📌 Поработаете с библиотеками PyQT, Kivy, wxWidgets, tkinter и поймёте основы сетевого ПО.
📌 Напишете интерфейс мессенджера на Python на практических занятиях.

⭐️ Спикер интенсива технический директор Lia, Python-разработчик с опытом более 7 лет — Никита Левашов.

🎁🎁🎁 Сдайте домашнее задание и получите сертификат стоимостью 15 000 рублей на любой онлайн-курс Skillbox!

Ждём вас в прямом эфире с 5 по 7 июля, в 21:00 по московскому времени 😉
Как сказал Эйнштейн: "Код на Python необходимо делать аккуратнее настолько, насколько только возможно. А то код-ревью не переживешь".

Поэтому сделали для вас небольшую статью, где рассказываем про 9 быстрых уловок, чтобы ваш код на Python был аккуратным.

Пользуйтесь и изучайте: клииик.
Как в Python удалить файл или папку

Сегодняшний короткий пост посвящен вопросу удаления файлов или папок посредством Python.

Для простого удаления файлов и папок используется стандартная библиотека os.

— Для удаления файлов используем функцию remove()

— Для удаления папки используем функцию rmdir()

— Для удаления папки и в ней содержимого используем shutil.rmtree()
Совет на весь 2021 год: научитесь программировать. Тогда вы сможете спокойно уехать за границу и попасть в любую топовую компанию — хоть в Яндекс, хоть в Apple. А зарплаты ITишников начинаются от 3000$.

Для этого не нужно зубрить тонну курсов и учебников. Достаточно просто читать канал Кабинет Программиста, следовать инструкциям и получить результат.

Автор работает разработчиком в Google, поэтому шарит, что нужно учить, на что лучше забить, что актуально в 2021 году, какие книги почитать.

Подписывайтесь и изучайте, потом сами себе спасибо скажете: @prgrcab
Как в Python используется оператор +

Прежде чем приступить к методам append() и extend(), давайте посмотрим, как происходит конкатенация (объединение) списков при помощи оператора +.

Допустим, у нас есть два списка, list1 и list2, которые мы хотим объединить (то есть склеить вместе два целых списка).

Если вы внимательно прочтете приведенный выше код, вы заметите следующие вещи:

• list1 + list2 не добавляет элементы из list2 в list1.
• Вместо этого создается новый список, содержащий элементы из list1 и list2.
• В результате сами списки list1 и list2 остаются в первозданном виде.

Есть методы с использованием append() и extend().
Блок else в циклах for и while

Цикл while используется для выполнения условия до тех пор, пока оно не будет оценено как истинное.

Цикл for используется для повторения определенных строк кода в программе. Предположим, вы хотите напечатать числа до 10, вы можете сделать это, набрав 10 операторов печати или используя цикл for. Цикл for повторяет часть программы на основе последовательности.

В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break.

Рассмотрим это на примере функции, ищущей иголку (needle) в стоге сена (haystack).
Как становиться богаче каждый день

Просто читайте проверенную аналитику рынка. Упал самолёт — акции Boeing упали вместе с ним. Очередная волна эпидемии — рост экосистем IT-гигантов и бедствие туризма

В мире происходит многое, поэтому акции гуляют туда-сюда. И что же вам мешает вложить 500 рублей, чтобы вынуть 5000?

Подписывайтесь на канал НЭП

Автор с 20-летним опытом инвестирования выжимает лучшее из прогнозов ведущих экспертов и простым языком объясняет:

~ По каким правилам стоит играть с Центральным Банком
~ Что ожидать от нефтяного рынка и стриминговых платформ
~ И главное — как извлекать из этого всего выгоду

В общем, сохраняйте, изучайте и богатейте. Лучше уже не будет : @bizlike_news
Как ускорить код при помощи векторизации?

Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.

По сути, самым лучшим способом для ускорения любого цикла - это полный отказ от него. В примере выше для работы с функцией my_func мы легко могли бы обойтись вызовом ее в цикле для каждого элемента списка, но еще проще будет использовать vectorize.

Вообще, vectorize преображает функцию таким образом, что она целиком принимает весь вектор, а не ее отдельные элементы. Только знайте, что такой прием не всегда ускорит ее в значительной степени.
Генерируем QR-код при помощи Python

QR-код — это один из видов матричного штрихкода. Оптическая метка, которую могут считывать машины и которая содержит информацию о каком-либо предмете. На практике QR-коды часто содержат указатели на сайт или приложение.

В этом руководстве мы расскажем вам, как генерировать QR-коды, используя Python и библиотеку qrcode.

Установим необходимые зависимости:
 install pillow qrcode 

Генерация QR-кода
Итак, давайте начнем генерацию QR-кодов. Библиотека qrcode очень облегчает этот процесс. (см картинку выше)

Изображение будет сохранено в новом файле site.png в текущей директории.

Вот и все! Теперь вы можете создать подобную функцию для генерации QR-кодов в своих собственных приложениях!
Простой веб-фреймворк

На сегодняшний день упрощенным вариантом веб-фреймворка WSGI для Python, является Bootle.

Это своего рода файловый модуль в единственном числе не имеющий сторонних библиотек, кроме стандартной Python.

Модуль Bootle вполне реализует себя в работах как с малыми, так и большими проектами, хотя его функционал состоит не из самых обширных возможностей: обработка форм, routing, POST-routing, сервер и cookies.

Для более точного рассмотрения результата, достаточно запустить данный модуль, прописать пять строк кода и перейти по адресной строке в браузере: localhost:5000/hello/world
Создание таблиц в терминале Python

PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.

Устанавливается данный модуль стандартным способом через терминал, заглавной командой pip.

Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.

Модуль prettytable также способен влиять на различные параметры таблиц, производить сортировку данных и работать с html, при том не ограничиваться во взаимодействии с таблицами csv и sql.
Пакеты в Python

Если говорить прямо - это отдельные папки, содержащие в себе модули и второстепенные папки

. Их определенная роль играет не только в делении проекта на части, но и создание форм пространства наименований, дабы сама работа с модулями и пакетами была упрощенной и обозначалась точкой.

На примере выше, тип импорта from package import* подключает необходимые модули и объекты, исходя из модуля init.py, или следует переменной all из того же модуля.

К слову, модуль init.py ранее отвечал за команду создания пакетов, но с модернизацией Python, он утратил данную необходимость, оставаясь при этом важной командой, включающей необходимый модуль.
Функции sleep() и time()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.

Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд.

Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.

В результате интервал между двумя моментами времени составил две секунды.
Новый курс по кибербезопасности от HackerU позволит успешно пройти путь от начинающего до полностью "упакованного" под требования рынка специалиста по информационной безопасности.

По окончанию курса вы получите:
— Навыки управления требованиями ИБ в проектах, а также проведения внешних и внутренних пентестов
— Диплом о профессиональной переподготовке установленного образца
— Карьерные консультации с ИБ-экспертами и HR-специалистами
— Возможность найти новую работу ещё в процессе обучения

Перед стартом программы есть возможность пообщаться с практикующими экспертами курса и порешать первые задачи в формате CTF!

Записывайтесь на консультацию сейчас и получите скидку до 30% на курс: https://is.gd/PshvCW
Модуль geopy

Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:

$ pip install geopy

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.

Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Прокачайте свои навыки в сфере IT и аналитики данных — примерьте роль Data Scientist! Участвуйте в бесплатном онлайн-интенсиве, который пройдёт с 19 по 21 июля. Начало — в 21:00 по московскому времени.

Зарегистрируйтесь по ссылке: 👉 https://clc.am/MmuGMQ

За 3 дня вы научитесь:

⚡️ исследовать данные с помощью языка программирования Python;
⚡️ отличать Data Science от Machine Learning и Artificial Intelligence;
⚡️ строить модели для реальных кейсов;
⚡️ находить аномалии в данных;
⚡️ решать реальные задачи, с которыми сталкивается Data Scientist.

В роли спикера выступит ведущий исследователь данных Сбербанка с 7-летним опытом в программировании — Анастасия Борнева.

🎉 Каждый участник, сдавший домашнее задание, получит сертификат на 15 000 рублей для поступления на любой курс Skillbox!
Встроенная функция float в Python

Если строка, которую надо конвертировать в число, не является целым числом, здесь поможет метод float.

Float также можно использовать для преобразования целых чисел в числа с плавающей запятой.

В Python 2 такое преобразование необходимо, но в Python 3 целочисленное деление больше не является чем-то особенным (если вы специально не используете оператор «//»). Поэтому больше не нужно использовать float для этой цели, теперь float(x)/y можно легко заменить на x/y.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 1 часть

Статические языки программирования заставляют Вас указывать тип каждой переменной, который определяет, сколько места переменная займёт в памяти и что с ней можно сделать. Компьютер использует эту информацию, что-бы скомпилировать программу в очень низкоуровневый машинный язык. Статические языки программирования машины понимают быстрее.
Переменные в этих языках не могут изменять свой тип они статичны. Целое число — это целое число, раз и навсегда.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть

Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.

Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».

Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.

Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.