Có những lúc bạn muốn chuyển đổi một kiểu dữ liệu sang một kiểu dữ liệu khác. Điều này được gọi là chuyển đổi loại
Có hai loại chuyển đổi kiểu trong Python. Tiềm ẩn và rõ ràng. Hãy tìm hiểu thêm về chúng với một số ví dụ
Chuyển đổi loại ngầm định
Trong Chuyển đổi kiểu ẩn, trình thông dịch Python tự động chuyển đổi một kiểu dữ liệu sang kiểu dữ liệu khác trong thời gian chạy. Để tránh mất dữ liệu, Python chuyển đổi kiểu dữ liệu thấp hơn thành kiểu dữ liệu cao hơn
Hãy xem một ví dụ để hiểu thêm
number1 = 10 # integer
number2 = 20.5 # float
sum_addition = number1 + number2
print[sum_addition] # Output: 30.5
print[type[sum_addition]] # Output:
Trong ví dụ trên, phép cộng hai biến, i. e. , kiểu dữ liệu số nguyên [nhỏ hơn] và kiểu dữ liệu float [cao hơn] sẽ cung cấp cho bạn kiểu dữ liệu float. Python tự động chuyển đổi kiểu dữ liệu thành kiểu dữ liệu float mà không làm mất bất kỳ thông tin nào
Tuy nhiên, chuyển đổi ngầm định không hoạt động trong mọi trường hợp. Hãy xem điều gì sẽ xảy ra khi bạn cố gắng thêm một số nguyên và một chuỗi
value1 = 10 # integer
value2 = "10" # string
sum_addition = value1 + value2
## Output:
Traceback [most recent call last]:
File "", line 1, in
sum = value1 + value2
TypeError: unsupported operand type[s] for +: 'int' and 'str'
Trong ví dụ trên, phép cộng hai biến, i. e. , kiểu dữ liệu số nguyên [nhỏ hơn] và kiểu dữ liệu chuỗi [cao hơn] sẽ cho bạn TypeError. Python không chuyển đổi chuỗi thành kiểu dữ liệu số nguyên. Đó là nơi bạn cần chuyển đổi các giá trị một cách rõ ràng
Chuyển đổi loại rõ ràng
Trong Chuyển đổi loại rõ ràng, bạn cần chuyển đổi các giá trị một cách rõ ràng với sự trợ giúp của các hàm được xác định trước như int[]
, float[]
, str[]
, bool[]
, v.v.
Điều này còn được gọi là typecasting. Trong quá trình này, có khả năng mất dữ liệu khi bạn đang chuyển đổi giá trị sang loại dữ liệu thấp hơn
Hãy xem một ví dụ để hiểu thêm
value1 = 10 # integer
value2 = "10" # string
# Type casting value2 of string to integer
value2 = int[value2]
sum_addition = value1 + value2
print[sum_addition] # Output: 20
print[type[sum_addition]] # Output:
Trong ví dụ trên, chúng ta đã chuyển đổi rõ ràng chuỗi thành kiểu dữ liệu số nguyên bằng cách sử dụng hàm int[]
. Bây giờ, phần bổ sung hoạt động và kết quả là cũng cung cấp cho bạn một kiểu dữ liệu số nguyên
Hãy xem một ví dụ về chuyển kiểu rõ ràng từ kiểu dữ liệu cao hơn [số float] sang kiểu dữ liệu thấp hơn [số nguyên]
value = 10 .5 # float
value = int[value] # int
print[value] # 10
Ví dụ trên chứng minh rằng bây giờ chúng tôi đã mất thông tin dữ liệu, tôi. e. , độ chính xác dấu phẩy động
Có rất nhiều hàm có sẵn trong Python để chuyển đổi kiểu dữ liệu. Bạn có thể xem danh sách tất cả các hàm có sẵn trong Python trong phần Kiểu dữ liệu Python
Phần kết luận
Trong hướng dẫn này, chúng ta đã tìm hiểu về các cách khác nhau để chuyển đổi một loại dữ liệu thành một loại dữ liệu khác trong Python. Chúng ta cũng đã tìm hiểu về chuyển đổi kiểu ẩn và kiểu rõ trong Python. Đây là một chủ đề rất quan trọng cần hiểu khi bạn làm việc với Python