Bạn hãy xem ví dụ sau, bạn sẽ hiểu vì sao lại cần ép kiểu dữ liệu
a="7"
b="10"
print(a+b)
Kết quả là 710
Bạn có thể ép kiểu dữ liệu trong Python bằng cách sử dụng các hàm có sẵn như int(), float(), str(), v.v.
Các hàm ép kiểu cơ bản:
int(): Chuyển đổi giá trị thành kiểu số nguyên (integer).
float(): Chuyển đổi giá trị thành kiểu số thực (floating-point number).
str(): Chuyển đổi giá trị thành kiểu chuỗi (string).
bool(): Chuyển đổi giá trị thành kiểu boolean (True hoặc False).
x = "10" # x là chuỗi
x_int = int(x) # Ép kiểu x thành số nguyên
print(x_int) # In ra: 10
print(type(x_int)) # <class 'int'>
Lưu ý: Nếu giá trị không phải là số hợp lệ (ví dụ: "abc"), Python sẽ báo lỗi khi ép kiểu.
x = "abc"
x_int = int(x) # Sẽ báo lỗi: ValueError: invalid literal for int() with base 10: 'abc'
x = "10.5" # x là chuỗi
x_float = float(x) # Ép kiểu x thành số thực
print(x_float) # In ra: 10.5
print(type(x_float)) # <class 'float'>
Lưu ý: Python sẽ chấp nhận chuỗi có dạng số thực để chuyển đổi thành kiểu float.
x = 10 # x là số nguyên
x_str = str(x) # Ép kiểu x thành chuỗi
print(x_str) # In ra: '10'
print(type(x_str)) # <class 'str'>
Lưu ý: Bạn có thể chuyển bất kỳ kiểu dữ liệu nào (số, boolean, danh sách, v.v.) thành chuỗi.
x = 1 # x là số nguyên
x_bool = bool(x) # Ép kiểu x thành boolean
print(x_bool) # In ra: True
Lưu ý: Mọi giá trị khác 0 đều chuyển thành True, và 0 sẽ chuyển thành False.
x = 0
x_bool = bool(x) # Ép kiểu 0 thành False
print(x_bool) # In ra: False
Giả sử bạn có một số giá trị và muốn chuyển đổi giữa các kiểu dữ liệu khác nhau:
# Nhập từ người dùng
user_input = input("Nhập một số: ")
# Chuyển đổi từ chuỗi sang số nguyên và thực hiện phép toán
user_input_int = int(user_input)
user_input_float = float(user_input)
print(f"Giá trị số nguyên: {user_input_int}")
print(f"Giá trị số thực: {user_input_float}")
Không phải lúc nào ép kiểu cũng thành công: Nếu giá trị không phù hợp với kiểu cần ép, Python sẽ ném ra lỗi. Ví dụ:
x = "abc"
x_int = int(x) # Sẽ báo lỗi vì "abc" không thể chuyển thành số nguyên
Chuyển đổi kiểu giữa các kiểu dữ liệu: Bạn có thể chuyển đổi qua lại giữa các kiểu như int(), float(), và str(), nhưng cần đảm bảo rằng giá trị ban đầu là hợp lệ cho kiểu mà bạn muốn chuyển.
Các bạn ghi nhớ những ý chính:
int(): Chuyển đổi thành số nguyên.
float(): Chuyển đổi thành số thực.
str(): Chuyển đổi thành chuỗi.
bool(): Chuyển đổi thành kiểu boolean (True hoặc False).
Bạn có thể sử dụng các hàm này để thao tác với dữ liệu nhập vào từ người dùng, hoặc khi cần chuyển đổi giữa các kiểu dữ liệu trong chương trình.
Tìm kiếm:
Trong Python, ép kiểu dữ liệu (type casting) là quá trình chuyển đổi một giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác.