Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Бесконечный итератор последовательности

С помощью itertools.cycle() создаётся кольцевой итератор. Придя к последнему значению, он вновь начинает с первого.

#theory // just python | ChatGPT
Switch-конструкции

Некоторые языки программирования используют switch конструкции, которых нет в python. Однако существует одно хитрое решение – использовать словарь, где значениями будут функции.
В данном примере вместо lambda-функций можете подставить любые другие.

#theory // just python | ChatGPT
Дизассемблирование

Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python.

#theory // just python | ChatGPT
Pathlib библиотека

В качестве удобной абстракции для работы с путями файлов Python 3 предоставляет pathlib

#theory // just python | ChatGPT
Подсказка типа

Python 3 поддерживает подсказки типов несмотря на динамическую типизацию.

#theory // just python | ChatGPT
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 23-24 апреля в 19:00 мск.

О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет. 

На вебинаре вы:

☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.

Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
Встроенный кэш LRU

Python 3 делает его очень простым в использовании, предоставляя LRU(наименее недавно используемый) кэш в качестве декоратора, называемого LRU cache.
Используя кэш lru для настройки функция Фибоначчи (этот метод оптимизации называется memoization). Время выполнения уменьшается с секунд до наносекунд.

#theory // just python | ChatGPT
Расширенная итерационная распаковка

Переменные без * просто присваиваются как есть (один соответствующий элемент списка), а со * присваивается как список, в который не входят элементы присвоенные переменным без *.

#theory // just python | ChatGPT
Подчеркивание в числовых литералах

Python 3 предоставляет отличный способ разрешить чтение числовых литералов, включив подчеркивание в числах. Это может быть использовано для демонстрации, например: тысячи, шестнадцатеричные и двоичные числа.

#theory // just python | ChatGPT
Выражения присваивания - "оператор моржа"

В Python оператор walrus, выполняет присвоение переменной выражения. Это может быть полезно, если вы собираетесь ссылаться на выражение позже в коде и сохранить строку или две в коде.

#theory // just python | ChatGPT
Проверка необходимой версии Python

В коде возможно проверить наличие актуальной версии Python. Например для предупреждения пользователей о несовместимой версии.

#theory // just python | ChatGPT
Модуль inspect для использования процессов за кулисами в Python.

Пригодится для использования того, что происходит за кулисами в Python. Вы так же можете вызывать его методы в них же! Например метод inspect.getsource() используется для вывода его собственного исходного кода. Еще используется метод inspect.getmodule() для вывода модуля, в котором его утвердили.

#theory // just python | ChatGPT
Строковая функция capitalize()

Функция capitalize() возвращает строку, изменяя ее первый символ на верхний регистр, а остальные переводя в нижний. Если первый символ уже в верхнем регистре, а также представляет собой целое число или любой специальный символ, команда ничего не делает.

#theory // just python | ChatGPT
Выражения lambda

Синтаксис выглядит следующим образом. Начиная со значения, равного возвращению lambda-выражения, затем следует переменная, которую хотели бы предоставить в качестве позиционного аргумента. После этого выполняем операцию, используя этот аргумент в качестве переменной.

#theory // just python | ChatGPT
Модуль glob

Этот модуль используется для поиска директорий для wildcards. Это означает, что его можно использовать для агрегирования данных о файлах на вашем ПК и их расширениях. glob() — это то, что нужно для выполнения поиска файлов. В ходе поиска используется синтаксис Unix, т. е. *, / и т. д.

#modules // just python | ChatGPT
Модуль re

Хватит мучиться с str.split() при обработке строк!
Модуль re используется для синтаксического анализа строк с помощью регулярных выражений и предоставляет больше возможностей для работы со строками в Python.
Модуль re предоставляет не одну, а множество крайне полезных функций. Они особенно актуальны для работы с большими объемами данных, что важно для дата-саентистов. Вот два примера, с которых стоит начать, — это функции sub() и findall().

Ещё один пример использования

#modules // just python | ChatGPT
Правила написания regex

При написании любых regex в коде придерживаться следующих правил:
* re.compile. Использовать re.compile (или его аналог в других языках) для любых более менее сложных и длинных regex.
* Избегать многократного вызова re.compile на один и тот же regex.
* Писать подробные регулярные выражения используя дополнительный аргумент re.VERBOSE. При re.compile использовать флаг re.VERBOSE (или его аналог в других языках) писать regex в несколько строк с комментариями о том что происходит.

#theory // just python | ChatGPT
Модуль Math

Математический модуль дает доступ ко всему, от sin и cos до логарифмов. Все это крайне важно при работе с алгоритмами, сделав математические операции доступными без зависимостей. В примере используется метод log().

#modules // just python | ChatGPT
Модуль Statistics

Модуль дает доступ к базовой статистике — не такой глубокой, как в случае SCiPy, но и ее может быть достаточно для анализа данных. Alias этого модуля — st, в некоторых случаях — stc или sts. Но, внимание — не scs, это уже alias для Scipy.stats.

#modules // just python | ChatGPT
Модуль urllib

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

#modules // just python | ChatGPT