Lỗi trong python và các loại là gì?

Python

File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
2 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 hoạt động 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. Ví dụ: nếu một chuỗi được cố gắng nhân với một số nguyên, thì một
File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
2 sẽ được tạo

Nguyên nhân gây ra TypeError

Một số nguyên nhân phổ biến nhất gây ra

File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
2 trong Python là

  • Thực hiện thao tác giữa hai loại dữ liệu không tương thích e. g. thêm một chuỗi và một số nguyên
  • Truyền loại không chính xác cho hàm tích hợp e. g. chuyển một danh sách tới hàm
    File "test.py", line 3, in 
            my_result = my_integer + my_string
    TypeError: unsupported operand type[s] for +: 'int' and 'str'
    
    5 tích hợp
  • Gọi một đối tượng không thể gọi được e. g. gọi một số nguyên
  • Loại chỉ mục danh sách không chính xác e. g. sử dụng một chuỗi làm giá trị chỉ mục danh sách thay vì một số nguyên
  • Lặp lại trên một giá trị không lặp lại e. g. cố gắng lặp trên một số nguyên

Ví dụ về lỗi loại Python

Đây là một ví dụ về Python

File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
2 bị ném khi cố gắng thêm một chuỗi và một số nguyên

my_integer = 1
my_string = "Hello World"
my_result = my_integer + my_string

Trong ví dụ trên, chuỗi

File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
7 được cố gắng thêm vào một số nguyên
File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
0. Vì không thể thực hiện phép cộng giữa hai loại này, nên một
File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'
2 được nâng lên

File "test.py", line 3, in 
        my_result = my_integer + my_string
TypeError: unsupported operand type[s] for +: 'int' and 'str'

Cách sửa TypeError trong Python

Để tránh lỗi kiểu trong Python, cần kiểm tra kiểu của đối tượng trước khi thực hiện thao tác. Điều này có thể giúp đảm bảo rằng loại đối tượng phù hợp với thao tác và liệu thao tác có được đối tượng hỗ trợ hay không

Nếu loại hoạt động không được hỗ trợ hoặc nếu loại không phù hợp với hoạt động, một thông báo có thể được hiển thị để chuyển loại phù hợp

Sử dụng cách tiếp cận trên, một kiểm tra có thể được thêm vào ví dụ trước đó

my_integer = 1
my_string = "Hello World"
if[type[my_integer] != int or type[my_string] != int]:
    print['One of the variables is not an integer']
else:
    my_result = my_integer + my_string

Tại đây, một kiểm tra được thực hiện để đảm bảo rằng cả hai biến cố gắng thêm vào đều là số nguyên. Nếu một trong số chúng không phải là số nguyên, một thông báo sẽ được hiển thị và tránh được lỗi

One of the variables is not an integer

Theo dõi, phân tích và quản lý lỗi với Rollbar

Quản lý lỗi và ngoại lệ trong mã của bạn là một thách thức. Nó có thể làm cho việc triển khai mã sản xuất trở thành một trải nghiệm đáng sợ. Khả năng theo dõi, phân tích và quản lý lỗi trong thời gian thực có thể giúp bạn tiến hành một cách tự tin hơn. Rollbar tự động theo dõi và xử lý lỗi, giúp việc sửa lỗi Python trở nên dễ dàng hơn bao giờ hết. Thử nó ngay hôm nay

Lỗi cú pháp là loại lỗi cơ bản nhất. Chúng phát sinh khi trình phân tích cú pháp Python không thể hiểu một dòng mã. Lỗi cú pháp hầu như luôn luôn nghiêm trọng, tôi. e. hầu như không bao giờ có cách nào để thực thi thành công một đoạn mã chứa lỗi cú pháp. Một số lỗi cú pháp có thể được phát hiện và xử lý, chẳng hạn như eval[""], nhưng những lỗi này rất hiếm

Trong IDLE, nó sẽ làm nổi bật lỗi cú pháp ở đâu. Hầu hết các lỗi cú pháp là lỗi chính tả, thụt lề không chính xác hoặc đối số không chính xác. Nếu bạn gặp lỗi này, hãy thử xem mã của bạn để biết bất kỳ lỗi nào trong số này

Đây là loại lỗi khó tìm nhất, bởi vì chúng sẽ cho kết quả không thể đoán trước và có thể làm hỏng chương trình của bạn. Rất nhiều điều khác nhau có thể xảy ra nếu bạn mắc lỗi logic. Tuy nhiên, những điều này rất dễ khắc phục vì bạn có thể sử dụng trình gỡ lỗi, trình gỡ lỗi này sẽ chạy qua chương trình và khắc phục mọi sự cố

Một ví dụ đơn giản về lỗi logic có thể được trình bày bên dưới, vòng lặp while sẽ biên dịch và chạy, tuy nhiên, vòng lặp sẽ không bao giờ kết thúc và có thể làm hỏng Python

#Counting Sheep
#Goal: Print number of sheep up until 101.
sheep_count=1
while sheep_count

Chủ Đề