Lỗi giá trị và lỗi loại trong python
Trong Python, một giá trị là thông tin được lưu trữ trong một đối tượng nhất định. Gặp phải ValueError trong Python có nghĩa là nội dung của đối tượng mà bạn đã cố gắng gán giá trị cho có vấn đề Show
Điều này không bị nhầm lẫn với các loại trong Python. Ví dụ, hãy tưởng tượng bạn có một con chó và bạn cố gắng thả nó vào bể cá. Đây sẽ là một ví dụ về lỗi loại, bởi vì động vật thuộc loại 'chó' chắc chắn không giống với động vật thuộc loại 'cá' Mặt khác, hãy tưởng tượng chúng ta cố gắng nhốt Great Dane vào cũi của Chihuahua. Đây sẽ là một vấn đề với giá trị của con chó, bởi vì mặc dù cả hai đều thuộc loại 'chó', nhưng cũi của Chihuahua sẽ không thể chấp nhận một con chó có kích thước như Great Dane Để thấy điều này rõ ràng hơn trong Python, hãy lưu ý các ví dụ sau
Kể từ ngày
Trong PyLearn, chúng ta sẽ thấy thông báo sau
Bất cứ khi nào bạn muốn chuyển đổi loại đối tượng, bạn cần đảm bảo rằng giá trị được liên kết với đối tượng đó là giá trị hợp lệ Các lỗi giá trị khác trong PythonBạn cũng có thể kích hoạt ValueError trong Python khi cố gắng thực hiện một thao tác trên một giá trị không tồn tại. Chẳng hạn, hãy tưởng tượng ví dụ sau
Trong ví dụ này, chúng tôi xác định một biến 'myVar' có giá trị 5. Sau đó, chúng tôi sẽ cố gắng xóa giá trị này khỏi danh sách không chứa giá trị đó. Vì 5 không có trong danh sách nên chúng tôi không thể xóa nó và Python trả về lỗi giá trị Ngoài ra, bạn cũng có thể tăng ValueError trong Python nếu bạn cố gắng 'giải nén' nhiều giá trị hơn mức bạn có. Ví dụ
Điều này trả về lỗi giá trị, vì có quá ít giá trị ở phía bên tay phải để Python có thể 'giải nén'. ’ Khi Python cố gắng gán ‘d’ cho một giá trị ở phía bên tay phải, nó không thể tìm thấy bất kỳ giá trị nào phù hợp với ‘unpack’ và do đó ném ra một lỗi ValueError Tạo tệp Python với tập lệnh sau sẽ tăng ValueError trong đó hàm int() đã được sử dụng để chuyển đổi giá trị chuỗi #Xác định biến đầu tiên đầu ra Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên. Đầu ra cho thấy rằng ValueError đã xảy ra ở dòng số 4 trong đó hàm int() đã được sử dụng để chuyển đổi chuỗi, 'Xin chào' Ví dụ-2. Xử lý ValueError bằng cách sử dụng Try-Except BlockTạo tệp Python với tập lệnh sau sẽ lấy giá trị tuổi từ người dùng. Nếu một giá trị không phải là số sẽ được lấy từ người dùng cho giá trị tuổi, thì khối thử sẽ đưa ra ngoại lệ ValueError và in thông báo lỗi tùy chỉnh. Nếu giá trị tuổi hợp lệ sẽ được lấy từ người dùng, thì thông báo sẽ được in dựa trên giá trị tuổi thử . đầu ra Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trên cho các giá trị đầu vào, 56, 45, 23 và 'hai mươi'. Ở đây, ValueError đã xảy ra đối với giá trị đầu vào, 'hai mươi' không hợp lệ Ví dụ-3. Tăng ValueError trong một chức năngValueError có thể được tạo mà không cần khối try-ngoại trừ bằng cách sử dụng từ khóa nâng cao bên trong hàm Python. Tạo một tệp Python với tập lệnh sau sẽ tính toán phép nhân của hai số nguyên. Nếu bất kỳ giá trị đối số không hợp lệ nào được chuyển vào hàm, thì ValueError sẽ được nâng lên #Định nghĩa hàm cho phép nhân đầu ra Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên. Ở đây, khi hàm đã được gọi với các giá trị 5 và '6', thì ValueError đã được nâng lên cho giá trị không hợp lệ, '6' Ví dụ-4. Sử dụng ValueError Bên trong và Bên ngoài HàmTạo tệp Python với tập lệnh sau hiển thị cách sử dụng ValueError bên trong và bên ngoài hàm. Ở đây, hàm check() đã được định nghĩa để tìm hiểu xem một số là dương hay âm. Hàm sẽ tăng ValueError khi một giá trị đối số không hợp lệ sẽ được chuyển đến hàm. Khối try-ngoại trừ sẽ bắt ValueError được truyền từ hàm và in thông báo lỗi #Xác định chức năng đầu ra Đầu ra sau sẽ xuất hiện sau khi thực thi đoạn mã trên với các giá trị đầu vào là 6, -3 và 'd'. Ở đây, ValueError đã xảy ra bên trong và bên ngoài hàm đối với giá trị đầu vào, 'd' Ví dụ-5. Sử dụng ValueError với lỗi khácTạo tệp Python với tập lệnh sau sẽ mở tệp để đọc và in nội dung của tệp. Nếu tên tệp đã được sử dụng trong tập lệnh không thể truy cập được, IOError sẽ được tạo và nếu tệp chứa bất kỳ ký tự chữ cái nào, thì ValueError sẽ được tạo thử . đầu ra Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên. Ở đây, ValueError đã được tạo ra vì doanh số. txt chứa các ký tự chữ cái ở dòng số 6 Ví dụ-6. Sử dụng ValueError với Đối số dòng lệnhTạo một tệp Python với tập lệnh sau sẽ lấy một số từ giá trị đối số dòng lệnh. Thông báo cụ thể sẽ được in nếu giá trị số được cung cấp trong đối số dòng lệnh, nếu không, ValueError sẽ được tạo và thông báo lỗi sẽ được in #Nhập mô-đun sys đầu ra Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trên khi tập lệnh được thực thi mà không có bất kỳ đối số nào, với các giá trị đối số 600 và 60 Phần kết luậnMục đích của việc sử dụng ngoại lệ ValueError đã được trình bày trong hướng dẫn này bằng cách sử dụng nhiều ví dụ để giúp người dùng Python biết cách sử dụng ngoại lệ này đúng cách Lỗi giá trị trong Python là gì?Lỗi ValueError trong Python là một ngoại lệ xảy ra khi một hàm nhận được đối số thuộc loại dữ liệu chính xác nhưng lại nhận được giá trị không phù hợp . Lỗi này thường xảy ra trong các phép toán yêu cầu một loại giá trị nhất định.
Sự khác biệt giữa lỗi giá trị và lỗi loại là gì?TypeError xảy ra khi một thao tác hoặc chức năng được áp dụng cho một đối tượng thuộc loại không phù hợp. ValueError xảy ra khi một thao tác hoặc hàm tích hợp nhận được một đối số có loại phù hợp nhưng giá trị không phù hợp và tình huống không được mô tả bằng một ngoại lệ chính xác hơn, chẳng hạn như IndexError
3 loại lỗi trong Python là gì?Có ba loại lỗi chính có thể phân biệt được trong Python. lỗi cú pháp, ngoại lệ và lỗi logic .
Lỗi loại trong Python là gì?Lỗi loại Python là một ngoại lệ xảy ra khi kiểu dữ liệu của một đối tượng trong một thao tác không phù hợp . Điều này có thể xảy ra khi một thao tác được thực hiện trên một đối tượng thuộc loại không chính xác hoặc nó không được hỗ trợ cho đối tượng. |