uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Разъяснивший Python

Разъяснивший Python

Kanalga Telegram’da o‘tish

Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc

Ko'proq ko'rsatish
6 893
Obunachilar
+224 soatlar
-97 kun
-6430 kun
Postlar arxiv
__getattribute__ и __getattr__ Это особые методы, которые вызываются при попытке получить какой-либо атрибут класса. Например
__getattribute__ и __getattr__ Это особые методы, которые вызываются при попытке получить какой-либо атрибут класса. Например, foo.var вызовет __getattribute__, а после, возможно __getattr__. Отличие между методами только в том, что __getattribute__ используется всегда, а __getattr__ только если атрибут не найден. #объяснение

Про copy В python есть модуль, который называется copy. У него только две функции: copy() и deepcopy(). copy(x) — поверхностн
Про copy В python есть модуль, который называется copy. У него только две функции: copy() и deepcopy(). copy(x) — поверхностно копирует объект и вставляет в него ссылки на объекты, обнаруженные в оригинале. deepcopy(x) — Создаёт новый объект и рекурсивно вставляет в него копии объектов, которые нашёл в оригинале. #объяснение

Что такое @wraps? Это декоратор из модуля functools, который используется для создания декораторов. Он обновляет значения __m
Что такое @wraps? Это декоратор из модуля functools, который используется для создания декораторов. Он обновляет значения __module__, __name__, __doc__ на значение реальной функции, а не декоратора, а также добавляет __wrapped__ для получения доступа к декорируемой функции. Подробнее можно почитать в документации. #объяснение

Про переменные и их названия В python можно встретить переменные по типу name, _name, __name. Но что значат эти подчёркивания
Про переменные и их названия В python можно встретить переменные по типу name, _name, __name. Но что значат эти подчёркивания перед названием? _name — индикатор того, что это внутренняя переменная и работать с ней напрямую не стоит. Также при from M import * не импортирует объекты, что начинаются на _. __name — заменяет имя на _classname__name, где classname — это имя текущего класса с удаленными начальными символами подчеркивания. Используется для определения частных переменных, которыми никто не должен пользоваться. #объяснение

Булевые операции x or y — если x правда (True), возвращает x, иначе y. x and y — если x правда (True), возвращает y, иначе x.
Булевые операции x or y — если x правда (True), возвращает x, иначе y. x and y — если x правда (True), возвращает y, иначе x. #объяснение

Разница между is и == Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получ
Разница между is и == Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции id(). is занимается сравниванием этих самых адресов. В то время как == вызывает функцию __eq__ и предназначения для сравнения значений класса. Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании. #объяснение

Python оптимизировал создание строки С помощью dis мы можем посмотреть байт-код программы. Здесь мы видим, что 'hello' и 'hel
Python оптимизировал создание строки С помощью dis мы можем посмотреть байт-код программы. Здесь мы видим, что 'hello' и 'hell' + 'o' ничем не отличается друг от друга, а значит Python поступил по умному и оптимизировал код. #объяснение

Кэширование строк Стоит отметить, что это очень сильно зависит от интерпретатора Python. Также правила могут измениться в буд
Кэширование строк Стоит отметить, что это очень сильно зависит от интерпретатора Python. Также правила могут измениться в будущем. Короткие строки в Python кэшируются интерпретатором при инициализации. Это используется для сохранения памяти. Если вы хотите поэкспериментировать, можете установить Python 2.7 и поиграться с функцией intern(), которая принудительно кэширует строку. #объяснение