Một phần quan trọng của lập trình liên quan đến việc nghịch dữ liệu. Trong khi thực hiện một số tác vụ, các tình huống có thể phát sinh trong đó kiểu dữ liệu phải được thay đổi từ kiểu này sang kiểu khác
Ví dụ: nếu biến có kiểu chuỗi, thì phải chuyển đổi thành int để thực hiện các phép toán số học. Trong điều kiện như vậy, khái niệm chuyển đổi kiểu và ép kiểu ra đời
Trước khi học Chuyển đổi kiểu và Truyền kiểu trong Python, bạn nên làm quen với Kiểu dữ liệu Python. Vì vậy, hãy xem blog Các kiểu dữ liệu Python cho người mới bắt đầu để hiểu rõ hơn
Chuyển đổi loại
Trong chuyển đổi kiểu, trình thông dịch Python tự động chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác. Vì Python xử lý chuyển đổi kiểu dữ liệu ngầm định nên lập trình viên không phải chuyển đổi kiểu dữ liệu này thành kiểu dữ liệu khác một cách rõ ràng.
Loại dữ liệu mà chuyển đổi xảy ra được gọi là loại dữ liệu đích và loại dữ liệu mà chuyển đổi xảy ra được gọi là loại dữ liệu nguồn
Trong chuyển đổi loại, dữ liệu đích có kích thước nhỏ hơn được chuyển đổi thành loại dữ liệu nguồn có kích thước lớn hơn. Điều này tránh mất dữ liệu và làm cho quá trình chuyển đổi an toàn khi sử dụng
Trong chuyển đổi kiểu, kiểu dữ liệu nguồn có kích thước nhỏ hơn được chuyển đổi thành kiểu dữ liệu đích có kích thước lớn hơn
Hãy xem một ví dụ để hiểu chuyển đổi kiểu trong Python
intType = 20
floatType = 0.8
# intType is converted from int to float
result = intType + floatType
# intType is of type int
print["datatype of intType:", type[intType]]
# floatType is of type float
print["datatype of floatType:", type[floatType]]
print["intType + floatType = ", result]
# result is of type float
print["result: ", type[result]]
đầu ra
datatype of intType:
datatype of floatType:
intType + floatType = 20.8
result:
Bây giờ hãy thử thêm một chuỗi có kích thước lớn hơn và int có kích thước nhỏ hơn
intType = 20
strType = "0.8"
# add an integer and string
result = intType + strType
print["Data type of the listType :",type[intType]]
print["Data type of the listType :",type[strType]]
print["result: "+result]
print["Data type of the listType :",type[result]]
đầu ra
Như bạn có thể đoán, chúng tôi đã gặp TypeError khi chạy đoạn mã trên. Python không thực hiện chuyển đổi ngầm định trong trường hợp này. Tuy nhiên, lỗi này có thể được giải quyết bằng cách sử dụng ép kiểu, điều này sẽ được thảo luận tiếp theo
loại đúc
Trong truyền kiểu, lập trình viên phải thay đổi kiểu dữ liệu theo yêu cầu của họ theo cách thủ công. Trong đó, lập trình viên chuyển đổi kiểu dữ liệu một cách rõ ràng bằng cách sử dụng các hàm được xác định trước như int[], float[], str[], v.v. Có khả năng mất dữ liệu trong trường hợp này nếu một loại dữ liệu cụ thể được chuyển đổi thành một loại dữ liệu khác có kích thước nhỏ hơn
Các hàm Python tích hợp được sử dụng để chuyển đổi được đưa ra bên dưới, cùng với các mô tả của chúng
FunctionDescriptionint[x, base] chuyển đổi bất kỳ loại dữ liệu x thành số nguyên với basefloat[x]đã đề cập chuyển đổi loại dữ liệu x thành số dấu phẩy độngcomplex[real,imag]chuyển đổi số thực thành số phứctr[x]chuyển đổi dữ liệu xBây giờ hãy xem một ví dụ để hiểu kiểu truyền trong Python
strType = "CodingNinjas"
# printing string converting to tuple
tupleType = tuple[strType]
print["After converting string to tuple : "]
print[tupleType]
print["Data type of the tupleType :",type[tupleType]]
# printing string converting to set
setType = set[strType]
print["After converting string to set : "]
print[setType]
print["Data type of the setType :",type[setType]]
# printing string converting to list
listType = list[strType]
print["After converting string to list : "]
print[listType]
print["Data type of the listType :",type[listType]]
đầu ra
After converting string to tuple :
['C', 'o', 'd', 'i', 'n', 'g', 'N', 'i', 'n', 'j', 'a', 's']
Data type of the tupleType :
After converting string to set :
{'g', 'N', 'n', 'C', 's', 'o', 'j', 'd', 'a', 'i'}
Data type of the setType :
After converting string to list :
['C', 'o', 'd', 'i', 'n', 'g', 'N', 'i', 'n', 'j', 'a', 's']
Data type of the listType :
Các câu hỏi thường gặp
Chuyển đổi kiểu và truyền kiểu trong Python có nghĩa là gì?
Trong chuyển đổi kiểu, trình thông dịch Python tự động chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác. Trong truyền kiểu, lập trình viên chuyển đổi kiểu dữ liệu theo yêu cầu của họ theo cách thủ công
Các phương pháp phổ biến được sử dụng để thay đổi kiểu dữ liệu trong Python là gì?
Chuyển đổi kiểu và Truyền kiểu trong Python cho phép chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác
Phân biệt giữa chuyển đổi kiểu và truyền kiểu trong Python dựa trên mất dữ liệu
Có khả năng mất dữ liệu khi truyền kiểu trong khi dữ liệu an toàn khi chuyển đổi kiểu
Làm cách nào để chuyển đổi dữ liệu diễn ra trong kiểu truyền trong Python?
Trong truyền kiểu rõ ràng, các kiểu dữ liệu được lập trình viên chuyển đổi thủ công bằng các hàm dựng sẵn
Có thể chuyển đổi một chuỗi thành một số nguyên trong Python không?
Không, không thể chuyển đổi một chuỗi thành một số nguyên ngay cả khi sử dụng phương thức int[] dựng sẵn
Chìa khóa rút ra
Đó là tất cả về Chuyển đổi kiểu và Truyền kiểu trong Python. Blog này bao gồm các khái niệm, ví dụ khác nhau và các câu hỏi thường gặp liên quan đến chủ đề này đã được đề cập chi tiết.
Bây giờ bạn đã biết Chuyển đổi kiểu và Truyền kiểu là gì, hãy tiếp tục và thử một số câu hỏi trên Nền tảng CodeStudio của chúng tôi
Đừng dừng lại ở đây. Hãy xem hướng dẫn về Python của chúng tôi để học Python từ đầu. Bạn cũng có thể xem blog Sự khác biệt giữa Truyền kiểu và Chuyển đổi kiểu để hiểu rõ hơn về Chuyển đổi kiểu và Truyền kiểu trong Python