2011-07-01 13 views
8

Với hàm Python thuần túy, bạn có thể chuyển đối số theo thứ tự (ví dụ: foo(1, 2, 3)) hoặc theo tên (ví dụ: foo(a=1, c=3, b=2)).Phát hiện đối số truyền thông ước của hàm thư viện C

Các hàm được xác định trong mô-đun C can use either convention. Bạn không thể nói range(stop=10, step=2) và vì vậy, đó là hầu hết nhưng không phải tất cả các chức năng được triển khai bằng giao diện C.

Có cách nào để xác định đối số truyền đạt quy ước của hàm từ bên trong Python không?

Trả lời

4

Dường như là open bug: không có cách nào để nói điều này. Ngoài ra, vấn đề phụ thuộc vào việc triển khai thực hiện: mã của bạn có thể hoạt động (ví dụ) PyPy, mặc dù tôi không thể xác nhận điều này.

Các nhà phát triển trên trang lỗi không chắc chắn có nên thay đổi kiểu tài liệu hoặc triển khai hay không, nhưng tôi nhận được ấn tượng đó không phải là vấn đề cấp bách cho họ theo cách nào.

+0

Trong PyPy bạn có thể (hàm và hàm dựng sẵn ít khác nhau), nhưng bạn có thể ngạc nhiên rằng ví dụ đối số từ khóa được đặt tên "x" "y" và "bước" :) Nói chung không tốt hơn để làm điều đó – fijal

Các vấn đề liên quan