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

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

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

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

Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.

Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.

Библиотеку необходимо установить:

pip install newspaper3k

#парсинг #parsing
Библиотека Numpy

Надеемся, что вы плодотворно поработали с возможностями Numpy. Но красивый вывод вы явно не получили.

И, правда, выглядит вывод часто очень страшно, а вывести определенное кол-во элементов кажется проблемой. Но есть метод set_printoptions, который нужен для управления выводом.
Метод принимает следующие аргументы:

precision — количество отображаемых цифр после запятой (по умолчанию 8).

threshold — количество элементов в массиве, вызывающее обрезание элементов (по умолчанию 1000).

edgeitems — количество элементов в начале и в конце каждой размерности массива (по умолчанию 3).

linewidth — количество символов в строке, после которых осуществляется перенос (по умолчанию 75).

suppress — если True, не печатает маленькие значения в scientific notation (по умолчанию False).

nanstr — строковое представление NaN (по умолчанию 'nan').

infstr — строковое представление inf (по умолчанию 'inf').

#numpy
В предыдущих примерах GUI Python мы ознакомились со способами добавления простых виджетов, а теперь попробуем получить пользовательский ввод, используя класс Entry (текстовое поле Tkinter).

Вы можете получить текст ввода, используя метод get.

Если вы нажмете на кнопку — появится текст «Привет {name} » вместе с введенным текстом в виджете записи.

Каждый раз, когда мы запускаем код, нам нужно нажать на виджет ввода, чтобы настроить фокус на ввод текста, но как насчет автоматической настройки фокуса?
Здесь все очень просто, ведь все, что нам нужно сделать, — это вызвать метод focus.

Когда вы запустите свой код, вы заметите, что виджет ввода в фокусе, который дает возможность сразу написать текст.

#Tkinter
Добавление виджета Combobox

Чтобы добавить виджет поля с выпадающем списком, используйте класс Combobox.

Как видите с примера, мы добавляем элементы combobox, используя значения кортежа - tuple.

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

Чтобы получить выбранный элемент, вы можете использовать метод get

Не забывайте, что вы можете добавлять новые пункты к примеру по нажатию кнопки!

#tkinter
🔖 Хотите освоить C++ с нуля? Получите первые практические навыки 17-18 июня на открытом интенсиве «HTTPS и треды в С++. От простого к прекрасному».

За два дня вы настроите свой http-сервер и разберете его «от и до», произведете все необходимые замеры и сделаете сервер супер быстрым. Занятие станет наглядным примером к тому, чем же все-таки язык С++ лучше других.

После интенсива вас будет ждать еще больше инструментов и практики на онлайн-курсе «C++ Developer. Basic» от OTUS.

🔗 Регистрация на занятие https://otus.pw/LzAl/
Добавление виджетов Radio

Чтобы добавить radio кнопку, используется класс RadioButton

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

Чтобы получить текущую выбранную radio кнопку или ее значение, вы можете передать параметр переменной и получить его значение.

Каждый раз, когда вы выбираете radio button, значение переменной будет изменено на значение.

#tkinter
Как примножить свой профит не отходя от кода?

Многие, ну прям очень многие прогеры нещадно скипают все новости и success stories, связанные с криптой.

"Слишком мутно, слишком хайпово, слишком время затратно, еще что-то слишком, еще не придумал", - говорили они

"Абсолютно все можно проверить через блокчейн, 0 часов 0 минут в день, доходность ~40%" сказал Waves exchange и запустил программу LP стейкинга

Фреймворк такой:
Регаетесь на сайте -> пополняете СВОЙ кошелек -> уходите кодить -> Получаете прибыль -> Profit!

И да. Если вы думаете что "уже поздно залетать в крипту" - то просто спросите тех, кто так думал в прошлом году :)

{ ...залететь на Waves и потестить }
Библиотека Numpy

Сегодня коснемся важной темы -- срезов. Эта штука просто необходимый инструмент для обработки данных.

Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!

Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.

#numpy
Что получится, если соединить навыки разработки и кибербезопасности?

Погрузитесь в мир прикладной безопасности на курсе от HackerU и откройте путь к таким профессиям, как Application Security Expert, Специалист по безопасной разработке

Курс проводят практикующие эксперты, которые уже посотрудничали с Тинькофф Банк, Альфа-Банк, Positive Technologies, IBM и др.

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

Познакомиться с экспертами и порешать первые задачки можно уже сейчас — записывайтесь на бесплатный пробный урок в формате CTF-турнира. Всех участников пробного урока ждёт бонус — 30% скидка на курс!

Регистрируйтесь по ссылке: https://is.gd/NZDMya
Библиотека Numpy

С многомерными массивами работать всегда сложнее. Например, если имеется огромный массив и требуется получить 1 индекс каждого вложенного списка начиная с 2, то мы пишем array[1:,2,:]. Однако, если нам надо залезть глубже, то придется добавить двоеточие. Но если нам надо самый последний вложенный, а вложений огромное множество?

Мы уже говорили про Ellipsis, он еще и очень полезен в Numpy. Огромное множество двоеточий можно заменить многоточием. Получается что:
array[1, 2, ...] эквивалентно array[1, 2, :, :, :], но мы сразу видим какая запись более короткая и понятная.

#numpy
Самое время начать осваивать перспективную специальность! Приходите на бесплатный онлайн-интенсив, который пройдёт с 17 по 19 июня. Стартуем в 19:00 по московскому времени.

Регистрируйтесь: 🔜 https://clc.am/3Jtorg

Что вы сделаете на интенсиве?
🔥 Построите модели для прогнозирования данных.
🔥 Узнаете, как использовать язык Python для data-аналитики.
🔥 Научитесь применять Data Science в бизнесе.
🔥 Изучите техники исследования данных и разберёте реальные задачи.
🔥 Создадите проект, который наверняка оценят потенциальные работодатели.

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

🎁 Все участники, дошедшие до финала интенсива, получат в подарок электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» от издательства «МИФ». А каждый, кто выполнит домашнее задание, — сертификат на 15 000 рублей для поступления на любой курс Skillbox!
Tkinter, всплывающее окно

Чтобы показать всплывающее окно с помощью Tkinter, используется класс messagebox.

В зависимости от того что нам нужно можно использовать один из следующих методов, все они принимают одинаковые аргументы, отличаются лишь внешним видом:

showinfo - вывести информацию;
showerror - вывести ошибку;
showwarning - вывести предупреждение.

Первый аргумент - заголовок, второй - текст

В примере, когда вы нажмете на кнопку появится информационное окно.

#tkinter
Нужны junior и middle программисты на работу с зарплатой от 3.000$!

Ищем:
- Front-end разработчиков
- Back-end разработчиков
- Game Developer
- Android разработчики
- iOS разработчики


IT вакансии для всех — берут и с опытом, и без!

UPD: на канале выкладывают вакансии от HP, Oracle, DELL, IBM
Добавление SpinBox

Для создания виджета спинбокса - выбор числа в диапазоне (используем к примеру для задания возраста) мы используем крем класс Spinbox, и передаем параметры from и to, чтобы указать диапазон номеров.
Кроме того, вы можете указать ширину виджета с помощью параметра width

Вы можете указать числа для Spinbox, вместо использования всего диапазона следующим образом:
spin = Spinbox(window, values=(2, 8, 11), width=5)
Виджет покажет только эти 3 числа: 2, 8 и 11.

Благодаря последнему можно создавать нужный промежуток через range()

#tkinter
Рекомендация на 30 лет вперёд: следите за технологиями и IT. Если 5 лет назад о крипте говорили только гики, то сегодня на ней зарабатывают даже домохозяйки.

Да и знать, куда идёт рынок – 100% способ быть на плаву даже в кризис, когда все беднеют. Раньше для этого приходилось шерстить сотни источников, а теперь есть канал Артёма Бородатюка.

Он на своём примере показал, как создать 10 айти-компаний БЕЗ ИНВЕСТИЦИЙ. После подписки вы узнаете:

• как стартовать в IT с нуля — пошаговая инструкция

• как проверить бизнес-идею и не слить свои личные сбережения — все способы

• где легализовали штучное мясо и можно ли на этом заработать — полная информация

Этот канал действительно стоит держать в подписках. Вступайте: t.me/artemborodatiuk