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
Выбор случайного элемента из последовательности элементов

Пакет 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
Подсчёт числа элементов в списке

Помимо способности collections.Counter() понимать, что именно в строке нужно подсчитать.

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

#theory // just python | ChatGPT
Фильтрация с помощью модуля itertools

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

#module // just python | ChatGPT
Virtualenv

Другая важная функция python - Virtualenv. Virtualenv означает виртуальную среду. Это, теперь мои друзья, очень классная функция python. По сути, для тестирования python в разных условиях обычно требуется изменить глобальную среду python. Но одно из ключевых преимуществ песочницы вашей среды Python заключается в том, что вы можете легко протестировать один код в разных версиях Python и зависимостях пакетов. Чтобы установить virtualenv, вам нужно сначала установить pip.

#theory // just python | ChatGPT
Splat-оператор

Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) — словарь до именованных аргументов.

#theory // just python | ChatGPT