Ép kiểu và chuyển đổi kiểu trong python

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 x

Bâ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

Loại chuyển đổi trong Python là gì?

Có hai loại Chuyển đổi kiểu trong Python. Chuyển đổi kiểu ngầm định . Chuyển đổi loại rõ ràng.

Hai kiểu truyền kiểu trong Python là gì?

Có hai loại chuyển kiểu chữ trong python là - Chuyển đổi rõ ràng[Truyền kiểu rõ ràng trong python] và Chuyển đổi ngầm định[Truyền kiểu ngầm định trong python]. The conversion of one data type into another, done via user intervention or manually as per the requirement, is known as explicit type conversion.

Ví dụ về kiểu truyền trong Python là gì?

Ép kiểu là phương thức dùng để thay đổi các biến/giá trị được khai báo ở một kiểu dữ liệu nào đó thành một kiểu dữ liệu khác để phù hợp với thao tác mà đoạn mã yêu cầu thực hiện. Trong python, tính năng này có thể được thực hiện bằng cách sử dụng các hàm tạo như int[], string[], float[], v.v.

Truyền trong Python là gì?

Truyền, còn được gọi là chuyển đổi kiểu, là quá trình chuyển đổi kiểu dữ liệu của biến thành kiểu dữ liệu khác . Những chuyển đổi này có thể là ẩn [được diễn giải tự động] hoặc rõ ràng [sử dụng các chức năng tích hợp sẵn].

Chủ Đề