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
Выражения 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
Модуль datetime

Модуль позволяет создавать типы даты и времени и работать с типичным синтаксисом даты и времени со свойствами, включая год, месяц и день. Это невероятно полезно для переформатирования, анализа и работы с отдельными разделами дат в ваших данных.

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

Это универсальное решение для сжатия данных с использованием языка программирования Python. Модуль крайне полезен при работе с пакетами. Наиболее важные функции здесь — compress() and decompress().

#modules // just python | ChatGPT
Четыре типа кавычек

Python позволяет использовать одинарные и двойные кавычки вместе (но строка должна начинаться и заканчиваться одним и тем же типом кавычек). В Python также есть еще два типа кавычек: ''' (тройные одинарные) и """ (тройные двойные). Таким образом, можно использовать несколько уровней кавычек, прежде чем придется заботиться об их экранировании.

#theory // just python | ChatGPT
Красивый вывод списка

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

#theory // just python | ChatGPT
Отображение списка

Чтобы «отобразить» один список на другой можно использовать функцию map(). Это определенно короче, но всё еще выглядит довольно беспорядочно. Более красивый путь это генератор списка, этот код делает абсолютно то же самое, но он короче, чем первый пример, и понятней, чем второй.

#theory // just python | ChatGPT
Функция reduce

Функция reduce работает так же как map, но reduce возвращает лишь одно значение которое получается из последнего выполнения переданной функции. Перед использованием reduce, его необходимо импортировать из модуля functools.

Функция reduce получает на вход:
* Функцию, которая получает более одно значения
* Массив, элементы которого будут поданы на вход функции

Reduce предает на вход функции элемент массива и выход предыдущего выполнения, при первом выполнении в функцию передаются первые элементы массива.

#theory // just python | ChatGPT
Функции any и all

Функции any и all используются вместо операторов OR и AND. Они позволяют сократить ваш код и сделать его более читаемым, в тех случаях когда вы используете большое количество условий в своей программе.

Они оба принимают массив из условий или булевых значений как аргумент, и возвращают одно булево значение.
Any - заменяет собой оператор OR, если в аргументах есть хотя бы одно True, на выходе будет True.
All - заменяет собой оператор AND, если в аргументах будет хотя бы один False, ответ будет False.

Для примера возьмем программу, которая должна вывести "1", если есть одинаковые переменные, и "-1", если таковых нет. Потом она должна проверить равна ли первая переменная второй и вторая третей, если это так вывести "2".

#theory // just python | ChatGPT
Срезы для строк в Python

Это механизм, с помощью которого извлекается подстрока по указанным параметрам. У срезов есть третий необязательный параметр — шаг извлечения. Шаг может быть отрицательным, в таком случае он берется с конца. Из этого вытекает самый популярный способ использования шага — переворот строки. Срезы можно указывать не только через числа, но и с использованием переменных.

#theory // just python | ChatGPT
Выбор случайного элемента из последовательности элементов

Пакет random, входящий в состав стандартной библиотеки, включает в себя множество полезных функций. Среди них хочется особо отметить функцию random.choice(seq). Она позволяет выбрать случайный элемент из индексируемой последовательности. Речь идёт о списках, о кортежах, и даже о строках.

Если попытаться передать функции random.choice(seq) неиндексируемую последовательность, например — словарь, множество или значение числового типа — возникнет ошибка. Ошибка будет выдана и при попытке передачи этой функции пустой последовательности.

#theory // just python | ChatGPT
Использование set для оптимизации различных операций

В соответствии с документаций по Python, класс set([iterable]) возвращает новый объект set (множество), созданный на основе итерируемого объекта.

Как вы, возможно, знаете, множество — это неупорядоченная структура данных (а значит — и неиндексируемая), одной из особенностей которой является тот факт, что в ней нельзя хранить одинаковые элементы.

#theory // just python | ChatGPT
Просмотр атрибутов и методов класса в интерпретаторе Python

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

Очень полезная вещь когда используется чужой код без документации, ведь передав в dir тот или иной объект, можно получить список методов для взаимодействия с ним.

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

Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом.

#theory // just python | ChatGPT
Распечатывание ежемесячного календаря

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

#theory // just python | ChatGPT