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

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

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

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Как ускорить код при помощи векторизации?

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

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

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

✔️Упражняемся в браузерном тренажере — учимся понимать и писать код на Python.

✔️Погружаемся в реальный продакшен — создаем конвертер валют вместе с наставником.

✔️Размещаем изменения на GitHub — получаем основу для своего первого пет-проекта.

🆙 База по Python за 14 дней. На практике. За 990 рублей.
Создание таблиц в терминале Python

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

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

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

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

Посмотрели туториал — повторили — запустили — profit!

1. Простейший web сервер на Python. Смотреть.
2. Как узнать, что скачивает человек, по его IP. Смотреть.
3. Голосовой ассистент - разбор кода. Смотреть.
4. Голосовой ассистент на Python - добавляем навыки. Смотреть.
5. Голосовой ассистент на Python. Смотреть.
6. Чат-бот на Python + Dialogflow. Смотреть.
Кажется, что программирование — это сложно. Нужно быть технарём, любить математику и знать английский. Но так ли это? На бесплатном интенсиве Skillbox вы узнаете, что на самом деле нужно уметь программисту, и напишете свой первый код.

А ещё на практике попробуете сразу несколько популярных IT-направлений:

✦ веб-разработку;
✦ мобильную разработку;
✦ Data Science;
✦ тестирование ПО;
✦ анализ данных.

Вы определите, так ли сложно программировать, как об этом говорят, и поймёте, какое IT-направление вам интереснее всего. Сделать первые шаги поможет разработчик с 17-летним опытом Даниил Пилипенко.

✌️Участие бесплатное, от вас не требуется знаний и опыта в IT.

Начинаем 2 марта в 19:00 (МСК). Не забудьте записаться по ссылке: https://clc.to/xaIhlA
Модуль getopt

Модуль getopt очень похож по работе с функцией getopt() для анализа параметров командной строки.

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

Мы можем импортировать скрипты и использовать определенные в них классы с помощью importlib. Допустим, у нас есть классы Person и Student, определенные в файле myclasses.py.
С плавающей запятой

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

Например, функция random() возвращает действительное число от 0 до 1 (исключая). Опять же, функции uniform (a, b) возвращают действительное число от a до b.

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

Комментарии, состоящие из нескольких строк, немного отличаются. Просто используйте 3 одинарные кавычки до и после части, которую вы хотите прокомментировать.
Ajax required

Этот декоратор проверяет, является ли запрос AJAX-запросом, этот декоратор полезен, когда мы работаем с Javascript-фреймворками такими как jQuery, и является хорошим способом защиты нашего приложения.
Облегчите перебор нескольких списков с помощью zip()

С помощью встроенной функции zip() мы можем все немного упростить.

Обратите внимание: функция zip() возвращает zip-объект, но с помощью приведения типов вы можете преобразовать его — например, с помощью list(), tuple() или dict().
Замер времени выполнения куска кода с помощью модуля «timeit».

Модуль timeit позволяет замерить время выполнения любого куска кода.

Большие куски кода не очень удобно, но вот мелкие довольно хорошо. Закидываете вашу строчку внутрь timeit и вуаля.
difference()

Метод difference() используется для получения множества, содержащего разность двух множеств. В нем будут только те элементы, которые присутствуют только в одном множестве и отсутствуют в другом. Например, difference() для множеств setA {1,2,3} и setB {2, 4, 6} будет {1,3}.
count()

Строковая функция count() возвращает количество вхождений подстроки в строковый объект.
Эффективная печать списка

Списки не печатаются в соответствии с нашими требованиями. Они всегда печатаются в ненужных квадратных скобках и одинарных кавычках.

Но в Python у нас есть решение для эффективной печати списков с помощью метода соединения строки. Метод join может превратить список в строку, классифицируя каждый элемент в строку и соединяя их со строкой, для которой используется метод соединения.
Использование функции sorted()

Функция sorted() позволяет сортировать список элементов в порядке возрастания или исчезновения.

В этом понимании мы сортируем список чисел по возрастанию и выводим результат на экран.
Использование функции map()

Функция map() позволяет применить функцию к каждому элементу списка и получить новый список с результатами.

В этом случае мы используем функцию, которая возводит список элементов в квадрат, к списку чисел от 1 до 5.
Использование оператора распаковки

Оператор распаковки (*) позволяет распаковывать элементы и передавать их как аргументы функции или методу.

В этом случае мы использовали список операторов, распаковывающих для передачи элементов как аргументы, функции и методы.
Использование метода count()

Метод count() позволяет подсчитывать количество вхождений элемента в список.

В этом примере мы используем метод count() для подсчета количества вхождений числа 2 в списке numbers.
Использование оператора "and"

Оператор "and" позволяет проверить, выполняются ли два условия одновременно.

В этом примере мы используем оператор "and" для проверки, достиг ли пользователь совершеннолетия и является ли он студентом.