Loại lỗi Python

Trong bài viết này, chúng ta sẽ tìm hiểu TypeError là gì trong Python, nguyên nhân gây ra nó và cách giải quyết hoặc sửa lỗi loại trong Python. Python được mô tả là ngôn ngữ lập trình cấp cao hướng đối tượng và được phát triển bởi Guido van Rossum. Python là ngôn ngữ hỗ trợ cho các nhà phát triển phần mềm và được sử dụng để kiểm tra bản dựng, quản trị thử nghiệm, v.v. Một số lỗi hoặc ngoại lệ có thể xảy ra khi xử lý dữ liệu trong lập trình Python, vì vậy bài viết này sẽ giúp làm sáng tỏ một trong những ngoại lệ trong Python có tên là TypeError

Lỗi loại Python là gì?

Lỗi loại Python là sự bất thường hoặc bất thường xảy ra khi một đối tượng trong loại dữ liệu không phù hợp cho các hoạt động. Loại lỗi này xảy ra khi một thao tác được thực hiện trên một đối tượng không phù hợp với dữ liệu hoặc dữ liệu không hỗ trợ đối tượng. Nói cách khác, TypeError đại diện cho một lỗi phát sinh khi một chức năng hoặc thao tác không thể thực hiện được và thao tác đó bị ép buộc trên một đối tượng thuộc loại không phù hợp. Một ví dụ là khi sử dụng thao tác + (bổ sung) trên một kiểu chuỗi, lỗi sẽ được tăng thêm một giá trị nguyên

Điều gì gây ra lỗi loại Python?

TypeError là một trong một số trường hợp ngoại lệ trong Python tiêu chuẩn. Như đã đề cập trước đó, lỗi này xảy ra khi một thao tác được thực hiện trên loại đối tượng sai. Có một số nguyên nhân phổ biến của TypeError trong python. Một số trong số này được mô tả dưới đây

Hoạt động không được hỗ trợ giữa hai loại

Lỗi này xảy ra khi thực thi giữa hai loại dữ liệu không tương thích hoặc không được hỗ trợ

Để giải thích, chúng tôi sẽ sử dụng ví dụ về biến 'my_str', là một 'chuỗi' và biến '12', là một số nguyên. Bạn không thể sử dụng thao tác + (bổ sung) giữa hai vì chúng không hỗ trợ lẫn nhau. Để giải thích, chúng ta biết rằng một số nguyên có thể được thêm vào một số nguyên khác hoặc một số thập phân và chúng ta không thể thêm một số nguyên vào một đối tượng chuỗi hoặc một biến

Nếu chúng ta nhập dữ liệu sau để thêm một số nguyên bằng một chuỗi, chúng ta sẽ nhận được như sau

my_str = "Chào mừng"

my_num = 12

in ( my_str + my_num + my_str )

Loại lỗi Python

TypeError xảy ra nếu một phép toán được thực hiện hoặc kích hoạt giữa các đối tượng không hỗ trợ nó. Kết quả của dữ liệu được thực hiện sẽ hiển thị lỗi loại và đầu ra sẽ là

Loại lỗi Python

Kết quả này cho thấy lỗi loại là một chuỗi chứ không phải số nguyên vì số nguyên không tương thích với chuỗi. Trong ví dụ trên, chuỗi “Welcome” cố gắng thêm vào số nguyên “12” và do không thể thực hiện phép cộng giữa hai loại khác nhau nên đã xảy ra lỗi loại

Gọi một định danh không thể gọi được

Một nguyên nhân khác của TypeError là một cuộc gọi đến một đối tượng không thể gọi được, chẳng hạn như một số nguyên. Chuỗi cho 'Python rất dễ học. ' có trong biến 'my_message' không thể gọi được trong trường hợp này và sẽ đưa ra lỗi loại khi được gọi trong câu lệnh in

my_message = "Python rất dễ học. "

in ( my_message ())

Loại lỗi Python

Trong Python, bất kỳ hàm hoặc phương thức nào, với triển khai phương thức gọi trong định nghĩa lớp, được gọi là có thể gọi được. Cũng giống như bất kỳ chức năng hoặc phương thức nào, chúng ta có thể gọi một đối tượng có thể gọi được. Vì vậy, nếu một số nguyên là đối tượng không thể gọi được được gọi, TypeError sẽ xuất hiện. Đầu ra cho lệnh trên sẽ như thế này

Loại lỗi Python

Kết quả này chỉ ra rằng đối tượng chuỗi không thể được gọi. Ví dụ cho thấy rằng chuỗi 'Python rất dễ học' không thể được gọi khi câu lệnh in được thực thi, vì đây là trường hợp không thể gọi được trong ngữ cảnh này

Loại chỉ mục danh sách không hợp lệ

Một lỗi loại được đưa ra khi một loại không chính xác được chuyển đến một chức năng tích hợp. Trong Python, các chỉ số danh sách được yêu cầu phải luôn là số nguyên. Để hiểu điều này, giả sử chúng ta muốn tạo một danh sách các mặt hàng, chẳng hạn như Apple, đồng hồ, Nhẫn, Đinh và Túi. Bây giờ, khi chúng tôi chèn dữ liệu và in giá trị, chúng tôi nhận được TypeError. Như chúng ta đã biết, các chỉ số được cho là ở dạng số nguyên hoặc số thập phân, do đó, nếu một chuỗi được sử dụng thì sẽ xảy ra lỗi

my_list = ["Apple" , "watch, "Ring", "Nails", "Bag"]

index_num = "2"

print ("Đây là danh sách gốc. ")

in ( my_list )

print ("Đây là kết quả. ")

print ( my_list [ index_num ])

Loại lỗi Python

Trong ví dụ trên, vì mã của giá trị chỉ mục được đưa ra trong một chuỗi, lỗi loại được đưa ra. Sau đây là đầu ra của lệnh đã thực hiện

Loại lỗi Python

Trong trường hợp này, chúng tôi nhận được TypeError vì loại chuỗi được phát hiện trong giá trị chỉ mục khi chúng tôi biết rằng chỉ nên sử dụng số nguyên hoặc số thập phân cho chỉ số. Do lỗi hiển thị trên đầu ra, các chỉ số phải ở dạng số nguyên hoặc lát, nếu không, lỗi loại sẽ được đưa ra

Làm cách nào để giải quyết lỗi loại?

Không thể tránh khỏi bất kỳ loại lỗi nào trong một chương trình nhưng sự xuất hiện của chúng luôn có thể được giảm thiểu. Để giảm thiểu việc xảy ra lỗi, chúng ta có thể kiểm tra kiểu dữ liệu của toán hạng, điều này sẽ giúp tránh các thao tác với kiểu dữ liệu không tương thích. Các biến, lớp và hàm trong chương trình cũng nên được đặt tên riêng để giúp bạn tránh gọi các đối tượng không thể gọi được. Một cách khác để tránh lỗi là loại đối tượng nên được kiểm tra trước khi thao tác được thực hiện. Điều này sẽ giúp đảm bảo rằng thao tác phù hợp với đối tượng và đối tượng hỗ trợ thao tác. Nếu chúng ta sử dụng một trong các ví dụ trên, chúng ta sẽ thêm một bước nữa vào đó, nó sẽ là

my_list = ["Apple" , "watch, "Ring", "Nails", "Bag"]

index_val = [0 , "1"<, 2, 3]

cho tôi trong phạm vi (len(index_val)):

cố gắng

print ( my_list [ index_val [i]])

ngoại trừ TypeError

in ("TypeError. Kiểm tra danh sách các chỉ số")

Loại lỗi Python

Đầu ra cho lệnh này sẽ là

Loại lỗi Python

Điều này cho thấy rằng khi bất kỳ chỉ mục nào được tìm thấy không đúng loại, sẽ xảy ra lỗi và mã đã cho sẽ xử lý nó. Kiểm tra này sẽ giúp xác định xem một trong số chúng không phải là số nguyên và tại sao lỗi sẽ xảy ra nếu không được sửa

Phần kết luận

Bài viết này nói về lỗi loại python và trong phần này, chúng ta đã học theo cách đơn giản hóa với các ví dụ về lỗi loại trong python và nguyên nhân gây ra lỗi cũng như cách tránh lỗi. Mặc dù đôi khi không thể tránh khỏi việc mắc lỗi, nhưng tốt hơn hết bạn nên xử lý lỗi trước khi nó xảy ra và nhận thức được nguyên nhân của TypeError. Như đã đề cập ở trên, TypeError là một ngoại lệ xảy ra khi lập trình viên chỉ định loại đối tượng không chính xác cho một thao tác

3 loại lỗi trong Python là gì?

Trong python có ba loại lỗi; . syntax errors, logic errors and exceptions.

Các ví dụ về TypeError trong Python là gì?

Trong Python, "Lỗi đánh máy" xảy ra khi bạn sử dụng các loại dữ liệu khác nhau trong một thao tác. Ví dụ: nếu bạn cố gắng chia một số nguyên (số) cho một chuỗi, nó sẽ dẫn đến lỗi đánh máy vì kiểu dữ liệu số nguyên không giống với chuỗi. One of those type errors is the “int object is not callable” error.

Làm cách nào để kiểm tra lỗi loại trong Python?

TypeError là một trong số một số ngoại lệ tiêu chuẩn của Python. TypeError xuất hiện bất cứ khi nào một thao tác được thực hiện trên loại đối tượng không chính xác/không được hỗ trợ. Ví dụ: sử dụng toán tử + (bổ sung) trên một chuỗi và một giá trị số nguyên sẽ làm tăng TypeError

Lý do cho TypeError là gì?

TypeError có thể xuất hiện khi. một toán hạng hoặc đối số được truyền cho một hàm không tương thích với loại mà toán tử hoặc hàm đó mong đợi ; . khi cố gắng sửa đổi một giá trị không thể thay đổi; . khi cố gắng sử dụng một giá trị theo cách không phù hợp.