TGViewer
Channel Public Channel
Python Learning

Python Learning

@python_per_month

№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Subscribers
28.1K
Photos
2K
Videos
8
Links
1K

Showing posts older than #2127 · Back to latest

Older Posts 20 shown
Post #2126 5.32K
Декораторы для проверки сигнатуры метода

Декораторы для проверки сигнатуры метода (method signature checking decorators) могут быть полезными для улучшения контроля над аргументами и возвращаемыми значениями методов. Они позволяют вам проверить, что метод вызывается с правильными типами аргументов и возвращает ожидаемые значения. Для создания таких декораторов можно использовать библиотеку functools и inspect.

#для_продвинутых
  • 👍 11
  • ❤ 2
Post #2125 5.12K
Срезы

Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовательности, такой как строка (str), список (list) или кортеж (tuple).

#для_начинающих
  • 👍 21
  • ❤ 4
Post #2124 5.25K
Обезьяний патч

Обезьяний патч (Monkey patch) в Python — это техника, которая позволяет изменять или расширять функциональность существующих классов, модулей или объектов во время выполнения программы. Этот термин образовался из-за аналогии с идеей того, что вы «насаживаете» (patch) код поверх существующего, подобно обучению обезьяны выполнять новые трюки.

#для_продвинутых
  • 👍 14
  • 🔥 4
  • ❤ 1
Post #2123 5.36K
PYTHONOPTIMIZE

PYTHONOPTIMIZE — это переменная среды в Python, которая используется для оптимизации выполнения кода на языке Python. Эта переменная определяет уровень оптимизации, который применяется к коду при его выполнении.

Вы можете установить значение PYTHONOPTIMIZE в соответствующей переменной среды перед запуском интерпретатора Python, чтобы управлять уровнем оптимизации ваших программ. Это установит уровень оптимизации на 2 для выполнения my_script.py.

#для_продвинутых
  • 👍 9
  • ❤ 4
Post #2122 5.17K
classmethod

classmethod — это декоратор в Python, который используется для определения методов класса, которые не принимают экземпляр класса (self) в качестве первого аргумента, а вместо этого принимают класс (cls) в качестве первого аргумента. Эти методы могут использоваться для операций, которые связаны с самим классом, а не с его экземплярами.

#для_начинающих
  • 👍 16
  • ❤ 2
Post #2121 5.15K
Функция id()

Функция id() используется для получения уникального идентификатора объекта. Этот идентификатор является целым числом, которое уникально для каждого объекта в рамках выполнения программы. Функция id() принимает один аргумент, который представляет собой объект, и возвращает его идентификатор.

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

#для_продвинутых
  • 👍 11
  • ❤ 5
Post #2120 4.97K
Ключевое слово self

Ключевое слово self используется в методах классов для ссылки на текущий экземпляр (объект) класса. Оно является обязательным первым параметром в определении большинства методов классов. Когда вы вызываете метод объекта класса, Python автоматически передает этому методу ссылку на сам объект в виде аргумента self.

#для_начинающих
  • 👍 13
  • ❤ 1
Post #2119 5.47K
Глубокое копирование (deep copy)

Глубокое копирование нужно для создания полной копии объекта, включая все вложенные объекты. Это важно для изменяемых объектов, таких как списки, чтобы изменения в копии не затрагивали оригинал.

Когда мы вызываем глубокое копирование, происходит следующее:
- Создается новый контейнерный объект (список, словарь и т. д.);
- Для каждого элемента исходного объекта рекурсивно вызывается глубокое копирование:
- Если элемент является изменяемым объектом (списком, словарем), то создается его копия с рекурсивным копированием вложенных элементов;
- Если элемент неизменяемый (число, строка) - он просто копируется как есть;
- Копии вложенных объектов вставляются в копию исходного объекта.

#это_база
  • 👍 14
  • 🎉 1
Post #2117 4.9K
Закон Амдала

Закон Амдала — это концептуальное правило, описывающее ограничения ускорения, которое можно достичь при оптимизации только части вычислений в программе. Он был предложен Генри Амдалом в 1967 году и является важным принципом в области параллельных вычислений.

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

#для_продвинутых
  • 👍 11
  • 🎉 2
Post #2116 4.88K
Что такое линейная сложность сортировки?

Линейная сложность сортировки обозначает алгоритм сортировки, который имеет временную сложность, пропорциональную количеству элементов в сортируемом массиве (или коллекции). В математической нотации линейная сложность обозначается как O(n), где "n" - количество элементов.

Примером линейной сортировки может быть алгоритм «сортировка подсчётом» (counting sort). В этом алгоритме создается дополнительный массив для подсчета количества вхождений каждого элемента. Затем на основе этой информации о количестве вхождений каждого элемента строится отсортированный массив.

#для_начинающих
  • 👍 11
  • ❤ 3
  • 🎉 2
Post #2115 4.96K
Что такое MRO?

MRO (Method Resolution Order) — это механизм, используемый для определения порядка разрешения методов при наследовании классов и множественном наследовании. MRO определяет, какие методы будут вызываться в случае, когда у наследующего класса есть методы с одинаковыми именами, унаследованными от разных базовых классов.

MRO в Python определяется с помощью алгоритма C3 Linearization (C3 линеаризации). Этот алгоритм гарантирует, что порядок разрешения методов будет согласован и предсказуем вне зависимости от порядка наследования. Он предотвращает проблемы, связанные с амбигуитетами и неоднозначностями в множественном наследовании.

#для_продвинутых
  • 👍 18
  • ❤ 3
Post #2114 5.29K
Сигналы

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

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

#для_начинающих
  • 👍 11
  • 🤔 1
  • 🎉 1
Post #2113 5.2K
Middleware (Django)

Middleware (промежуточное программное обеспечение) — это слой программного кода, который работает между различными компонентами приложения для обработки и управления запросами, ответами и другими аспектами обработки данных. Middleware обычно используется в веб-фреймворках и приложениях для обработки HTTP-запросов, но концепция middleware может применяться и в других контекстах.

Основная идея middleware заключается в том, чтобы добавить дополнительную логику или функциональность к обработке запросов и ответов без необходимости изменения основного кода приложения.

#для_начинающих
  • 👍 14
Post #2112 5.31K
Гринлеты

Гринлеты обычно связан с библиотекой Gevent, которая предоставляет механизм асинхронного программирования, используя зеленые потоки (greenlets). Зеленые потоки (greenlets) являются легковесными «корутинами», то есть функциями, которые можно приостанавливать и возобновлять выполнение, а также передавать им управление без необходимости полного переключения контекста, как это происходит с потоками операционной системы.

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

#для_продвинутых
  • 👍 15
  • ❤ 3
Post #2110 5.15K
Фабрика декораторов

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

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

#для_начинающих
  • 👍 14
  • ❤ 3
  • 🤔 3
Post #2108 4.94K
Pickling

Pickling — это процесс сериализации объектов Python в байтовую последовательность и их обратное восстановление из этой последовательности. Pickling позволяет сохранять сложные объекты, такие как списки, словари, классы и пользовательские объекты, в байтовом формате, который затем можно сохранить в файле или передать по сети, а затем восстановить обратно в исходное состояние.

#для_начинающих
  • 👍 21
  • ❤ 2
Post #2107 5.38K
Рисуем карту столицы Австралии

Folium - это Python-библиотека для визуализации географических данных и информации, которая содержит координаты и местоположения.

Установить пакет - pip install folium

В нашем примере мы рисуем карту Канберры - столицы Австралии(Сама карта находится в посте выше).
  • 👍 18
  • ❤ 2
  • 🎉 2
  • 👨‍💻 1
Post #2106 5.08K
Set comprehension

Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.

#для_начинающих
  • 👍 5
  • 😱 2
Post #2105 5.11K
Тернарный оператор

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

Тернарный оператор может быть удобным способом заменить простые if-else выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.

#для_начинающих
  • 👍 12
  • ❤ 1
Post #2103 4.78K
  • 👍 20
  • 🤔 9
  • 🗿 2
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →