Python Flashcards
Классы (ООП)
механизм создания новых типов объектов
Класс
это коллекция функций (известных, как методы), переменных (известных, как переменные класса) и вычисляемых атрибутов (известных, как свойства).
Метод экземпляра (класса)
функция, оперирующая экземпляром класса, который передается ей в первом аргументе
Переменные класса
значения, которые совместно используются всеми экземплярами класса (то есть они не могут содержать отдельные значения для каждого из экземпляров)
Экземпляры класса создаются
обращением к объекту класса, как к функции. В результате этого создается новый экземпляр, который затем передается методу __init__() класса.
Аргументы метода __init__()
вновь созданный экземпляр self и дополнительные аргументы, указанные при вызове объекта класса
Внутри метода __init__()
создаются атрибуты экземпляра путем присваивания значений атрибутам объекта self
Оператор точки (.)
отвечает за доступ к атрибутам
Наследование
механизм создания новых классов, призванный на- строить или изменить поведение существующего класса
Класс- примесь
обычно определяющий набор методов, объявляется, чтобы потом «подмешивать» его в другие классы, с целью расширения их функциональных возможностей
Статический метод
это обычная функция, которая просто включается в пространство имен, определяемое классом
Методы класса
это методы, которые оперируют самим классом как объектом
Свойство
это особая разновидность атрибута, который вычисляет свое значение при попытке обращения к нему
Дескриптор
это обычный объект, представляющий значение атрибута
Слабая ссылка
это такая ссылка на объект, создание которой не приводит к увеличению счетчика ссылок
__slots__
возможность ограничить класс определенным набором имен атрибутов
Абстрактные базовые классы
реализуют механизм организации объектов в иерархии, позволяющий утверждать о наличии требуемых методов и делать другие выводы
Метакласс
это объект, который знает, как создавать классы и управлять ими
Декоратор класса
это функция, которая принимает и возвращает класс
В чем разница между модулем и пакетом в Python?
Каждый программный файл Python представляет собой модуль, который импортирует другие модули как объекты. Таким образом, модуль — это способ структурирования вашей программы. Папка с программой на Python называется пакетом модулей.
Какие встроенные типы доступны в Python?
К изменяемым относятся: Списки, Множества, Словари. Представителями неизменяемых типов являются: Строки, Кортежи, Числа.
Что такое лямбда-функция в Python?
Лямбда часто используется как встраиваемая функция и представляет собой единственное анонимное функциональное выражение. Она применяется для создания нового объекта функции и его возврата во время выполнения.
Лямбда — это анонимная функция в Python, которая может принимать неограниченное количество аргументов и может иметь любое число параметров. Однако лямбда-функция может иметь только одно выражение или инструкцию. Обычно она используется в ситуациях, когда требуется анонимная функция в течение короткого периода времени.
Что означает пространство имен?
Пространство имен представляет собой систему имен, которая используется для обеспечения уникальности наименования всех объектов в программе, чтобы избежать возможных конфликтов. В Python эти пространства имен реализованы как словари с именем в качестве ключа и объектом в качестве значения. В результате разные пространства могут давать своим объектам одинаковые имена.
Ниже приведены три типа пространств имен в Python:
Локальное пространство имен — включает локальные имена внутри функции. Локальное пространство имен временно создается во время вызова функции и очищается при возврате из нее.
Глобальное пространство имен — состоит из имен различных импортированных пакетов/модулей, которые в настоящее время используются в проекте. Глобальное пространство имен создается при импорте пакета в скрипт, и оно доступно до тех пор, пока скрипт не закончит выполнение.
Встроенное пространство имен — оно включает встроенные функции Python и встроенные имена для различных типов исключений.
Объясните разницу между списком и кортежем?
Список изменяемый, а кортеж — нет. Кортежи можно хешировать, как в случае создания ключей для словарей.