4.1 Hàm int()
Trong Python, chuyển đổi kiểu dữ liệu (cũng gọi là ép kiểu) cho phép bạn chuyển giá trị từ kiểu này sang kiểu khác. Trước đây mình đã nói qua về chuyển đổi chuỗi sang số khi nhập dữ liệu, giờ thì mình sẽ nói chi tiết hơn. Có ba hàm chính để chuyển đổi kiểu dữ liệu: int()
, str()
và float()
.
Hàm int()
được dùng để chuyển đổi giá trị sang số nguyên.
Chuyển đổi chuỗi sang số nguyên:
num_str = "42"
num_int = int(num_str)
print(num_int) # Kết quả: 42
Nếu chuỗi không phải là số, sẽ xảy ra lỗi:
num_str = "bốn hai"
num_int = int(num_str)
print(num_int) # ValueError: invalid literal for int() with base 10: 'bốn hai'
Chuyển đổi số thực sang số nguyên:
num_float = 42.9
num_int = int(num_float)
print(num_int) # Kết quả: 42
Khi chuyển đổi số thực như vậy, kết quả luôn làm tròn xuống – chỉ giữ lại phần nguyên. Số 1.9999 sẽ thành 1.
Chuyển đổi giá trị boolean sang số nguyên:
Giá trị đúng (True) thường được gọi là "boolean 1", còn giá trị sai (False) là "boolean 0". Khi chuyển đổi, chúng trở thành số 1 và số 0 thông thường.
true_bool = True
false_bool = False
print(int(true_bool)) # Kết quả: 1
print(int(false_bool)) # Kết quả: 0
4.2 Hàm str()
Hàm str()
được dùng để chuyển đổi giá trị sang chuỗi. Có thể chuyển đổi hầu hết mọi thứ sang chuỗi.
Chuyển đổi số nguyên sang chuỗi:
num_int = 42
num_str = str(num_int)
print(num_str) # Kết quả: "42"
Chuyển đổi số thực sang chuỗi:
num_float = 42.9
num_str = str(num_float)
print(num_str) # Kết quả: "42.9"
Chuyển đổi giá trị boolean sang chuỗi:
true_bool = True
false_bool = False
print(str(true_bool)) # Kết quả: "True"
print(str(false_bool)) # Kết quả: "False"
4.3 Hàm float()
Hàm float()
được dùng để chuyển đổi giá trị sang số thực (số với dấu thập phân).
Chuyển đổi chuỗi sang số thực:
num_str = "42.9"
num_float = float(num_str)
print(num_float) # Kết quả: 42.9
Chuyển đổi số nguyên sang số thực:
num_int = 42
num_float = float(num_int)
print(num_float) # Kết quả: 42.0
Chuyển đổi giá trị boolean sang số thực:
true_bool = True
false_bool = False
print(float(true_bool)) # Kết quả: 1.0
print(float(false_bool)) # Kết quả: 0.0