Tương tự như tích hợp str()
phương pháp, Python cũng cung cấp tiện dụng int()
phương thức nhận một đối tượng chuỗi làm đối số và trả về một số nguyên.
Ví dụ sử dụng:
# Here age is a string object
age = "18"
print(age)
# Converting a string to an integer
int_age = int(age)
print(int_age)
Đầu ra:
18
18
Mặc dù đầu ra tương tự về mặt trực quan, hãy nhớ rằng dòng đầu tiên là đối tượng chuỗi trong khi dòng tiếp theo là đối tượng số nguyên. Điều này được minh họa thêm trong ví dụ tiếp theo:
age = "18"
print(age + 2)
Đầu ra:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
Lỗi sẽ cho bạn thấy rõ rằng bạn cần chuyển đổi age
đối tượng thành một số nguyên trước khi thêm một cái gì đó vào nó.
age = "18"
age_int = int(age)
print(age_int + 2)
Đầu ra:
20
Nhưng hãy ghi nhớ những trường hợp đặc biệt này:
- Một dấu phẩy động (một số nguyên có phần phân số) làm đối số sẽ trả về số float được làm tròn xuống thành số nguyên nguyên gần nhất. Ví dụ :
print(int(7.9))
sẽ in7
. Mặt khác,print(int("7.9"))
sẽ dẫn đến lỗi do không thể chuyển đổi đối tượng float dưới dạng chuỗi thành số nguyên.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '7.9'
- Các từ được đưa ra làm đối số sẽ trả về lỗi tương tự. Ví dụ,
print(int("one"))
sẽ trở lại:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'one'