python / python/cpython

Clarify error message when unpacking objects with `*` and `**`

Đang mở
#127,643 8 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

interpreter-core type-feature
Ngôn ngữ chính
Python
Star
77.2k
Fork
35.9k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

When attempting to unpack a list (or any other non-mapping) as a mapping, one gets this error message:

builtins.TypeError: 'list' object is not a mapping

It's confusing, especially since sometimes the unpacking is done on a long multi-line statement, and it's not clear that the unpacking is the source of the error.

I suggest modifying to:

builtins.TypeError: Can't unpack 'list' object using ** because it's not a mapping

I'll be happy to submit a pull request if you agree with this change.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Không có tệp hoặc bài kiểm thử nào được nêu. Tìm kiếm trong CPython lỗi hiện có "object is not a mapping" và lần theo điểm đầu vào của ** unpacking; sau đó thêm coverage cho việc unpacking một list bằng ** và xác minh rằng TypeError kết quả xác định thao tác và kiểu đối tượng như được yêu cầu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
compilers
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.