Основные концепции Python
Подтемы:
Какие типы данных существуют?
В Python существует несколько основных типов данных:Неизменяемые типы данных:
-
Целые числа
(int): Представляют целые числа без десятичной части. Например: 5, -10, 1000 -
Вещественные числа
(float): Представляют числа с десятичной точкой. Например: 3.14, -0.001, 2.0. -
Строки
(str): Представляют текст. Например: “Привет!”, ‘Python’, “”“Многострочная строка”“”. -
Кортежи
(tuples): Упорядоченные неизменяемые коллекции объектов. Например: (1, 2, 3, 4), (”apple”, “banana”, “melon”)
Изменяемые типы данных:
-
Списки
(lists): Упорядоченные изменяемые коллекции объектов. Например: [1, 2, 3, 4], [”basketball”, “hockey”, “volleyball”] -
Словари (dict): Коллекции пар ключ-значение, сохраняющие порядок добавления ключей. Например: {0: [1, 2, 3], 1: “apple”, “banana”: (3, 4, 5)}.
-
Множества
(sets): Неупорядоченные коллекции уникальных элементов. Например: {1, 3, 4}
Разница между изменяемыми и неизменяемыми типами данных заключается в том, что неизменяемые типы данных не могут быть изменены после создания, в то время как изменяемые типы данных могут. Это важно понимать при выборе типа данных для конкретной задачи, так как это влияет на поведение программы и затраты ресурсов.
Ссылки для изучения
Типы данных, в чем отличия, где какие лучше использовать?
В Python существует несколько основных типов данных:-
Числа (int, float): int хранит целые числа произвольной точности, а float хранит числа с плавающей точкой с ограниченной точностью. Скорость операций зависит от значений и операции; дробные значения float часто представлены приближённо.
-
Строки (str): Неизменяемые последовательности символов Unicode. Операции изменения текста создают новую строку.
-
Списки
(list): Используются для хранения упорядоченной коллекции элементов. Списки являются изменяемыми и могут содержать элементы различных типов. Они предоставляют множество методов для манипуляции данными, таких как добавление, удаление и изменение элементов. -
Кортежи
(tuple): Похожи на списки, но являются неизменяемыми. Они часто используются для представления неизменяемых коллекций данных или для возвращения нескольких значений из функций. -
Множества
(set): Используются для хранения уникальных элементов без упорядочения. Множества предоставляют эффективные операции для проверки наличия элементов и операции над множествами, такие как объединение, пересечение и разность. -
Словари
(dict): Используются для хранения пар ключ-значение. Словари предоставляют быстрый доступ к значениям по ключу и эффективные операции добавления, удаления и изменения элементов.
Выбор типа данных зависит от конкретной задачи.
-
Если требуется хранить коллекцию упорядоченных элементов с возможностью изменения, лучше использовать список.
-
Если требуется хранить набор уникальных элементов, лучше использовать множество.
-
Если требуется хранить данные в виде пар ключ-значение, лучше использовать словарь.
-
Если данные не должны изменяться после создания, лучше использовать неизменяемый тип данных, такой как кортеж или неизменяемая строка.
Ссылки для изучения
Что означает None и почему его проверяют через is?
None обозначает отсутствие значения и является единственным объектом типа NoneType. Его проверяют через is None, потому что это проверка идентичности с singleton-объектом. == None может вызвать пользовательский __eq__ и дать неожиданный результат. None нельзя смешивать с другими falsy-значениями: 0, False, пустая строка и пустая коллекция могут быть допустимыми данными. Контракт должен отличать отсутствие значения от допустимого falsy-значения и сохранять различие на границах.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Тестовое собеседование Junior Python-разработчика: функции, исключения и ООП · 29:14–30:20Мок-собеседование · Ответ кандидата
Кандидат объясняет None как единственный объект и рекомендует проверять идентичность через is вместо перегружаемого ==.
Чем pass отличается от Ellipsis?
pass является оператором и ничего не делает; он нужен там, где синтаксис требует блок. Ellipsis это реальный singleton-объект, записываемый как ..., который можно вернуть, сохранить или использовать в индексировании и заглушках. Функция с одним pass неявно возвращает None, а функция с выражением ... тоже дойдет до неявного None, если явно не сделан return .... Контракт должен отличать отсутствие значения от допустимого falsy-значения и сохранять различие на границах.
Ссылки для изучения
В чем разница между операторами is и ==?
Оператор == сравнивает значения двух объектов, тогда как оператор is сравнивает их идентичность, проверяя, указывают ли обе переменные на один и тот же объект в памяти.
Ссылки для изучения







