Python. Собеседование. Книги.
44 subscribers
13 photos
5 files
11 links
加入频道
Base

Python - интерпретируемый язык или компилируемый?
Пайтон это интерпретируемый язык

Сколько существует числовых типов данных?
В Python 3 существует 4 типа

... - ellipsis (выражение)

Количество байт в символе?
2 или 3 байта, а вообще зависит от интерпретатора и кодировки.

Что такое область видимости переменных?
Это контекст переменной, в рамках которого ее можно использовать.

Что такое introspection?
Это означает, что для любого объекта можно получить всю информацию о его внутренней структуре и среде исполнения.

Разница между is и ==?
«Is» сравнивает объекты по ссылке а «==», по значению.
Datatypes

Какие есть изменяемые и неизменяемые типы данных?

Неизменяемые:
- Числа
- Строки
- Кортежи (tuples)
Изменяемые:
- Списки
- Словари
- Множества
Lists

Append vs Extend in lists
Если append итерируемый объект добавит как элемент, то extend расширяет его.

Pop vs Remove
Pop - удаляет по индексу и возвращает, remove - удаляет по значению

Что если в sort использовать разные типы данных?
Выдаст TypeError

Sort использует
Tim sort (merge sort and insertion sort)

Как устроен array list?
Динамический массив (3n + 1 расширение)

Как копировать список?
l2 = l1[:]
l2 = l1.copy()
Shallow copy

Чем отличается list и tuple?
Mutable/immutable
Кортежам есть применение в много поточности.
Dictionaries

Упорядоченные или нет?
До Python 3.7 - неупорядоченные
С Python 3.7 - упорядоченные
Better to use ordered dictionaries in collections

Ограничения:
Ключи только хешируемые, если встроенный тип - immutable
photo_2020-12-11_12-52-03.jpg
23.2 KB
Exceptions

Що такое exceptions, try-except?
В Питоне определен главный класс BaseException, от которого наследуются все остальные классы ошибок. У него есть четыре прямых наследника:
SystemExit – произошел выход из программы.
KeyboardInterrupt – пользователь прервал выполнение программы (комбинация Ctrl+C).
GeneratorExit – завершена работа объекта generator.
Exception – родительский класс для пользовательских исключений.
Можно ли оператор raise использовать без исключения которое мы генерируем?
Можно только внутри блока except, когда он может взять этот тип из except.
Используется для возможности дописать что-то перед исключением.

Exception chain
Когда происходит exception во время обработки другого.

Exit() перед finally
Finally сработает

Нужно ли всегда except?
Нет, можно try finally

Почему не нужно писать except без указания ошибки?
Потому что нельзя определить конкретную ошибку. Можно исправить except Exception.