Иногда на собесах просят просто перечислить встроенные типы. Из дефолт пакетов тоже любят спросить.
int, float, bool, str. Очень интересно, ага, да. Или рил интересно?
Целые числа
У интов есть методы, ведь у нас тут всё классы. Поэтому можно так: (1).bit_lenght(), а ещё .(to/from)_bytes. Больше интересного нет.
Числа с плавающей точкой
Класс float - имплементация абстрактного класса Real. Тоже есть методы, например, такой классный как .is_integer() и .hex()
Если в комплексном нам нужна j в конце для обозначения, то тут точка.
a = 1.
b = 1.1
Комплексные числа
a = 27j - тип complex (даа, j в конце).
Модуль math при sqrt(-1) выдаст исключение, а модуль cmath - комплексное число.
Типы последовательностей: list, tuple, range
List мутабельный, можно объявить как []. Доступен конструктор list(), можно использовать списковое включение (о нем потом).
Tuples - кортежи не мутируются. Объявляются как (), конструктор tuples(). Есть один маленький рофл, который не всем заходит.
a = 1,
type(a) - tuple
type(1,) - int
Т.е. кортеж не обязательно должен объявляться через круглые скобки. Мы бывает юзаем кортежи в возврате методов и там просто перечисляем что вернуть через запятую. Понятное дело, такое работает не везде. Если мы хотим передать кортеж в арги, то обязательно используем скобки:
foo((1, ))
Ranges - не мутируются. Исключительно конструктором передаём минимум один арг - stop. range(start, stop, step). В памяти только три арга и хранит.
Строки
Без лишних комментариев. Объявляем ‘tak’, “tak”, ‘’’tak’’’ i “””tak”””
Для строк у нас есть еще обозначения перед ними:
- r - raw string - игнорим бэкслеш;
- b - бинарные
- f - строки для форматирования.
Типы бинарных последовательностей
bytes(), bytearray(), memoryview()
Для всех типов-последовтаельностей доступны такие фичи как in, например (a in b, где b - последовательность)
Типы множеств
Коллекция без порядка. Недопустимы дубликаты в элементах.
Set - мутабельный, frozenset - нет (можно получить хэш).
Тип словарь
dict() - мутабельный.
.keys() - ключи, .values() - значения, .items() пары (ключ, значение)
Да, есть ещё встроенные типы, но вверху основные представители без уж ну самых скучных.
А теперь прост список типов из пакетов, ы:
datetime: timedelta, date, datetime, time, timezone, tzinfo.
collections: Counter, deque, defaultdict, OrderedDict, namedtuple
И ещё много-много всего, но мы ведь хотим успеть и на другие вопросы на собесе ответить.