Чтобы ответить на ваш вопрос, технически int
- это класс, но вы также можете думать о нем как о типе данных, как отметили другие.Поскольку это вызываемый объект, int()
будет вызывать метод __call__
для класса int
.Ради этого вопроса вы можете думать о нем как о конструкторе, который принимает строковое представление целого числа и возвращает целое число.
Вот пример в REPL для Python для ясности.
Python 3.7.0 (default, Sep 22 2018, 18:29:00)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> int
<class 'int'>
>>> int('1')
1
>>> int('a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
>>> int.__call__('1')
1
>>> isinstance(int('1'), int)
True
>>> type(1) is int
True