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

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

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

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

В прошлом посте разобрали объединение массивов. Но кроме этого, их приходится еще и делить. Разумеется, нам нужно не банальное деление через срезы, а более гибкое. Для этого в Numpy представлено два метода:

hsplit - разбивает вдоль горизонтальной оси
vsplit - разбивает вдоль вертикальной оси
array_split - более общий, он позволяет указать вдоль какой оси произойдет разбиение.

#numpy
Библиотека Numpy. Копии и представления

Ранее мы уже говорили про такую проблему со списками, когда при присваивании новой переменной и последующем изменении изначальный список тоже меняется. Такая же ситуация происходит и в numpy. По умолчанию мы не создаем новый объект, а лишь передаем ссылку на него.

Поскольку Numpy более гибкий, то и инструментов у него больше:
Представление (поверхностное копирование) и глубокое копирование.

Представление - позволяет как угодно изменять форму, но при изменении данных меняются данные и у изначального массива. Можно получить через срез.

Глубокое копирование - создается новый объект, который не имеет ничего общего со старым (кроме набора данных, но хранятся они уже в разных ячейках памяти)

#numpy
TKinter. Добавление панели меню

Для добавления панели меню, используйте класс Menu

Сначала мы создаем меню, затем добавляем наш первый пункт подменю. Можно добавить пункты в любое меню с помощью метода add_cascade(). Можно добавить столько пунктов меню, сколько захотите.

Теперь мы добавляем еще один пункт меню “Изменить” с разделителем меню. Вы можете заметить пунктирную линию в начале. Если вы нажмете на эту строку, она отобразит пункты меню в небольшом отдельном окне.

Можно отключить эту функцию, с помощью tearoff подобным образом:
 = Menu(menu, tearoff=0)

#tkinter
TKinter. Вкладки

Сначала с помощью класса Notebook создается элемент управления вкладкой. Потом создается вкладка через класс Frame.

Далее добавляйте эту вкладку в элемент управления вкладками. Запакуйте элемент управления вкладкой, чтобы он стал видимым в окне.

Так вы можете добавлять столько вкладок, сколько нужно. После создания вкладок вы можете поместить виджеты внутри этих вкладок, назначив родительское свойство нужной вкладке.

#tkinter
Как стать бизнес-аналитиком за 10 месяцев

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

На курсе «Бизнес-аналитик» от SF Education профессионалы из крупных организаций, обладающие международными сертификациями, учат выстраивать процессы для роста бизнеса и увеличения прибыли. За 6 часов в неделю вы поймёте, как формируется бюджет компании, изучите четыре языка программирования и под присмотром куратора овладеете методиками эффективного планирования. Более того: вам помогут в карьере и выдадут диплом. А после курса вы найдёте первую работу в бизнес-аналитике!

Запишитесь на курс со скидкой 40% по промокоду SFPROMO.

Также рассмотрите другие курсы SF Education для финансистов: «Школа инвестиций», «Финансовый аналитик», «Подготовка к экзамену CFA Level 1» и другие, на них действуют скидки до 65% до 30 июня.
Pyautogui

Очень интересная по своим возможностям библиотека. Она позволяет манипулировать указателем (мышкой) и клавиатурой прямо из кода.

Можно написать простейший кликер и "фармить" быстрее других игроков. Можно автоматизировать часть своей работы, а некоторые умудрились обмануть начальство имитируя работу на компьютере благодаря данной библиотеке (существуют программы, отслеживающие работает ли человек за ПК).

Мы показываем базовое управление, больше информации ищите в документации.

#pyautogui
Миф, в который все верят, — в 2021 году невозможно открыть свой бизнес. Нужны миллионы для старта, все ниши заняты и придется платить большие налоги — так и до банкротства недалеко.

Но это ложь. Хватит 300 рублей и годной идеи, чтобы запустить прибыльный бизнес. И не надо искать эти идеи самостоятельно — всё есть на канале @delaumoney.

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

И вы тоже сможете открыть свой бизнес. А @delaumoney поможет, дерзайте.
Кодинг кодингом, но чтобы попасть в топовую компанию надо пройти одного важного зверя — собеседование. И даже не одно.

Поэтому решили сделать для вас подборку полезных статей по собеседованиям. Каждый найдет что-то интересное для себя. Читайте, изучайте и применяйте

1. Работа со строками в Python. Взгляд глазами интервьюера.

2. Вопросы на собеседовании. Часть I. Junior.

3. Вопросы на собеседовании. Часть II. Middle.

4. Вопросы на собеседовании. Часть III. Senior

3. Типизация данных.
20-21 июля в OTUS пройдет открытый интенсив для тех, кто хочет работать с большими данными. После двухдневного обучения вы сможете выводить модель в продакшн с помошью AWS:
- Узнаете, как использовать lambda и нюансы работы с IoT данными
- Научитесь выводить модель в продакшн без сложных настроек системы
Кроме того, интенсив — это возможность попробовать онлайн-курс «Промышленный ML на больших данных». Для участия в занятии пройдите вступительный тест https://otus.pw/wW8a/
Управляем браузером. Библиотека 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-кодов в своих собственных приложениях!