Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Các lỗi thường gặp (gotchas) trong lập trình Python

Một số lỗi phổ biến:

  • Scope name lookups (LEGB): Python tìm tên theo thứ tự Local → Enclosing → Global → Built-in. Vì không có strict type binding, programmer có thể vô tình gán lại biến outer scope.
  • Nhầm is và ==: is kiểm tra cùng địa chỉ bộ nhớ, == gọi __eq__ so sánh giá trị.
  • Sửa list khi đang iterate: Xóa phần tử trong list khi đang lặp gây IndexError do size giảm mà index không giảm theo.
  • Closure binding:
    listLambdas = [lambda x: i + x for i in range(5)]
    for lam in listLambdas:
        print(lam(10))
    Kết quả: 14 14 14 14 14 (tất cả tham chiếu cùng biến i, cuối cùng là 4). Sửa bằng default argument: lambda x, i=i: i + x.
  • Trùng tên built-in: Đặt tên biến sum, list... che khuất built-in function.
  • Operator overload phi trực giác: Overload operator theo cách không phổ biến tạo API khó hiểu.