Конструктор int() в Python — что делает и примеры
Рассмотрим, как использовать метод Python int() для преобразования числа или строки в целое число.
- Знакомство с конструктором Python int()
- Примеры Python int()
- 1) Использование int() для преобразования строки в целое число
- 2) Преобразование чисел с плавающей точкой в целые числа
- 3) Применение Python int() для преобразования объекта в целое число
Знакомство с конструктором Python int()
Int() принимает строку или число и преобразует его в целое число. Вот конструктор int():
int(x, base=10)
Обратите внимание, что int() — это конструктор встроенного класса int. Это не функция. Когда вы вызываете int(), вы создаете новый целочисленный объект.
- Если x — это строка, она должна содержать число и, по желанию, предваряться необязательным знаком, например, минусом(-) или плюсом(+).
- Если x — число с плавающей точкой, int() возвращает целочисленное значение этого числа.
- Если x — объект, int() делегирует методу x.__int()__. Если объект x не имеет метода __int__(), int() будет использовать метод __index__().
Аргумент x необязателен. Если его опустить, int() вернет 0.
Base определяет основание для целого числа. По умолчанию 10.
Примеры Python int()
Давайте рассмотрим несколько примеров использования Python int().
1) Использование int() для преобразования строки в целое число
В следующем примере функция int() используется для преобразования строк в целые числа:
number = int('100') print(number) # 👉 100 number = int('-90') print(number) # 👉 -90 number = int(' -20\n') print(number) # 👉 -20
2) Преобразование чисел с плавающей точкой в целые числа
В следующем примере функция int() используется для преобразования чисел с плавающей точкой в целые числа:
number = int(10.0) print(number) # 👉 10 number = int(9.99) print(number) # 👉 9 number = int(5.01) print(number) # 👉 5
3) Применение Python int() для преобразования объекта в целое число
Следующий пример иллюстрирует, как использовать int() для преобразования объекта в целое число:
class Person: def __init__(self, name, age): self.name = name self.age = age def __int__(self): return int(self.age) person = Person('John Doe', 22) print(int(person)) # 👉 22
Выход:
22
Как это работает.
- Сначала определите класс Person, который имеет два атрибута name и age. Метод __int__() возвращает целое число возраста:
class Product: def __init__(self, name, price): self.name = name self.price = price def __int__(self): return int(self.price)
- Во-вторых, создайте новый экземпляр Person и преобразуйте его в целое число:
person = Person('John Doe', 22) print(int(person)) # 👉 22