Python | Notes
5.56K subscribers
1.56K photos
2 videos
1.59K links
Заявки принимаются моментально!

⚡️Лучшие шпаргалки по Python!

Поделиться с другом - https://t.me/+ugLTJcF7eFllMDky

Менеджеры: @sorivmavb @ootrimoo @mirapoller
Download Telegram
Разница между “is” и “==”

Распространенной проблемой является путаница с операторами сравнения “is” и “==”. Оператор “==” сравнивает значения, в то время как “is” проверяет ссылку на один и тот же объект в памяти. В коде приведены примеры для наглядности. Есть еще нюанс со строками и целыми числами.

Короткие строки и маленькие целые числа будут возвращать True при сравнении с “is” из-за того, что Python пытается использовать меньше памяти для одинаковых объектов. Но более длинные строки и большие целые числа будут храниться отдельно.

Python | Notes
👍7🔥1
Лимит рекурсии

В Python не поддерживается хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии.

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

Python | Notes
👍4
inspect

Модуль inspect пригодится вам для использования того, что происходит за кулисами в Python. Вы так же можете вызывать его методы в них же!

Снизу пригодится метод inspect.getsource() для вывода его собственного исходного кода. Еще используется метод inspect.getmodule() для вывода модуля, в котором его утвердили.

Python | Notes
👍5
Генераторы в Python

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

Генератор может быть вызван через функцию next(). При каждом вызове next() возвращается следующее значение генератора.

Python | Notes
👍11
Объединение строк

В программном коде нередко приходится сталкиваться с конкатенацией строк при помощи знака сложения. Создание строки из списка нескольких подстрок удобнее осуществить при помощи строкового метода join

Python | Notes
👍9
Функция abs() возвращает абсолютное значение заданного числа. Если это комплексное число, функция abs() возвращает его величину.

Python | Notes
👍14
Ключевое слово nonlocal

Похожее по функционалу на global, ключевое слово nonlocal позволяет обращаться к переменным из нелокальной области видимости.

Поведение nonlocal заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.

Основное различие с global в том, что с помощью nonlocal нельзя получить переменные из глобальной области видимости.

Python | Notes
👍16
Python позволяет вам возвращать из функции несколько значений.

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

Еще несколько значений можно возвращать, перечислив их через запятую после команды return.

Python | Notes
👍15👏1😁1
Выражения генераторы

Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы. Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.

Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:

sum([x*x for x in range(20)])

можно воспользоваться выражением-генератором:

sum(x*x for x in range(20))

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

Python | Notes
👍22
Функция help

Если вы находитесь в Python Shell или делаете отладку кода с использованием breakpoint, и хотите знать, как работает определённый объект, метод или атрибут, функция help поможет вам.

В действительности вы, скорее всего, будете обращаться за помощью к поисковой системе. Но если вы уже находитесь в Python Shell, вызов help(list.append) будет быстрее, чем поиск документации в Google.

Python | Notes
👍14❤‍🔥1😁1