Подібно до вбудованого str()
методу, Python також пропонує зручний int()
метод, який приймає рядовий об'єкт як аргумент і повертає ціле число.
Приклад використання:
# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)
Вихід:
18 18
Хоча вихідні дані візуально подібні, майте на увазі, що перший рядок є рядковим об'єктом, тоді як наступний рядок є цілочисельним об'єктом. Це додатково проілюстровано на наступному прикладі:
age = "18" print(age + 2)
Вихід:
Traceback (most recent call last): File "", line 1, in TypeError: cannot concatenate 'str' and 'int' objects
Помилка повинна дати вам зрозуміти, що вам потрібно перетворити age
об’єкт на ціле число, перш ніж щось до нього додавати.
age = "18" age_int = int(age) print(age_int + 2)
Вихід:
20
Але майте на увазі ці особливі випадки:
- Плаваюча точка (ціле число з дробовою частиною) як аргумент повертає плаваючу округлену вниз до найближчого цілого цілого числа. Наприклад:
print(int(7.9))
надрукує7
. З іншого боку,print(int("7.9"))
це призведе до помилки, оскільки поплавок як рядовий об’єкт не може бути перетворений у ціле число.
Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '7.9'
- Слова, подані як аргумент, повернуть ту саму помилку. Наприклад,
print(int("one"))
поверне:
Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: 'one'