Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Что выведет код?
Anonymous Quiz
67%
True
19%
False
14%
Error
Функция re.split()

Функция split работает аналогично методу split в строках, но в функции re.split можно использовать регулярные выражения, а значит, разделять строку на части по более сложным условиям.
Сколько правил PEP8 нарушено при таком импорте библиотек?
Anonymous Quiz
25%
1
33%
2
32%
3
11%
4
Progressbar в python

Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Подсчёт слов в строке

Для подсчёта слов в строке можно использовать методы split() и len()

split() - это встроенный в Python метод, который разделяет слова внутри строки с помощью определенного разделителя и возвращает массив строк.

len() также является встроенным методом Python, который возвращает количество строк в массиве или подсчитывает длину элементов в объекте. Этот метод принимает только один параметр: строку, байты, список, объект, набор или коллекцию.
Что выведет код?
Anonymous Quiz
23%
27
63%
6
9%
5
5%
10
Может ли такое быть?
Anonymous Quiz
45%
Да
43%
Нет
11%
Не знаю
Повторение элемента в списке

Чтобы найти уникальные элементы списка, вы можете воспользоваться набором в Python или использовать цикл for и перебирать, чтобы проверить, является ли элемент уникальным или нет.

Список в Python – это упорядоченный набор элементов, с разрешенными дубликатами.

Set – это набор уникальных элементов. Мы можем использовать это свойство, чтобы получить только уникальные элементы списка.

Передайте список в качестве аргумента конструктору набора, и он вернет набор уникальных элементов.
Атрибут slots

Атрибут slots позволяет объявлять элементы данных (например, свойства) и запрещать создание словаря dict и weakref (если явно не объявлено в slots или не доступно в родительском элементе).

Пространство, сэкономленное от НЕ использования dict, может быть значительным! Скорость поиска атрибутов также может быть значительно увеличена.

Наличие магического атрибута slots делает несколько вещей. Во-первых, он ограничивает допустимый набор имен атрибутов объекта только перечисленными именами. Во-вторых, поскольку атрибуты теперь фиксированы, больше нет необходимости хранить атрибуты в словаре экземпляра, поэтому атрибут dict удаляется (если только базовый класс уже не имеет его; он также может быть добавлен обратно подклассом, который не имеет slots).

При использовании атрибута slots атрибуты хранятся в заранее определенных местах в массиве. 
Создание внутренних функций Python

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

В нашем коде мы определяем inner_func() внутри outer_func() для печати Hello, World! сообщение на экран. Для этого мы вызываем inner_func() в последней строке outer_func(). Это самый быстрый способ написать внутреннюю функцию на Python.
Каким будет последний элемент?
Anonymous Quiz
27%
100
55%
81
13%
None
5%
0