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
Отображение списка

Чтобы «отобразить» один список на другой можно использовать функцию 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
Превращение списка в одну строку

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

#theory // just python | ChatGPT
Перемешать элементы списка с помощью shuffle

Этот сниппет поможет вам изменить порядок элементов списка на случайный. Обратите внимание на то, что функция shuffle из библиотеки random меняет исходный список.

#theory // just python | ChatGPT
Аргументы которые необязательны

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

#theory // just python | ChatGPT
Деструктуризация массива

Деструктуризация (unpacking - распаковка) представляет разложение коллекции (кортежа, списка и т.д.) на отдельные значения. Так, как и многие языки программирования, Python поддерживает концепцию множественного присваивания.

#theory // just python | ChatGPT
Итерации next() в генераторах

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

Однако вместо этого можно использовать next(). Next берёт итератор, который будет хранить текущую позицию в памяти и перебирать список в фоновом режиме.

#theory // just python | ChatGPT
Транспонирование двухмерного массива

Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода zip.

#theory // just python | ChatGPT
Группировка смежных списков лямбда выражением

Группировку смежных списков, разумеется, легко осуществить в цикле for, особенно, используя zip(), но это далеко не самый лучший способ. Чтобы сделать это проще и быстрее, напишем лямбда-выражение с zip, которое сгруппирует смежные списки.

#theory // just python | ChatGPT
Модуль эмодзи

Модуль emoji позволяет добавлять в строки эмодзи.

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

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту. Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.

#modules // just python | ChatGPT
Инструмент командной строки howdoi

Задайте любой вопрос, и он постарается найти ответ на него. Но будьте осторожны: он извлекает код из топовых ответов на StackOverflow и не всегда даёт полезную информацию.

#tools // just python | ChatGPT
JSON-esque

В Python много скрытых вещей. Требуется только человек и его время, чтобы выяснить, что все магические операторы и прочее скрыты внутри. Одним из всех других вещей является знаменитый JSON-esque. Вы можете создавать вложенные словари, не создавая явно словари. Они волшебным образом появляются, когда мы ссылаемся на них.

#theory // just python | ChatGPT