Tôi chỉ cắn kịch bản sau đây:Tại sao "**" ràng buộc chặt chẽ hơn phủ định?
>>> -1 ** 2
-1
Bây giờ, đào bới trong các tài liệu Python, it's clear that this is intended behavior, nhưng tại sao? Tôi không làm việc với bất kỳ ngôn ngữ nào khác có sức mạnh như một toán tử nội trang, nhưng không có liên kết phủ định đơn nhất chặt chẽ nhất có thể có vẻ nguy hiểm phản trực giác với tôi.
Có lý do nào được thực hiện theo cách này không? Các ngôn ngữ khác với các nhà khai thác điện có hoạt động tương tự không?
http://www.wolframalpha.com/input/?i = -1^2 sản lượng -1 Nó giống nhau trong Mathematica –
Đó là lý do tại sao tôi không thích ký hiệu infix. (expt -1 2) là rõ ràng, như là (- (expt 1 2)). – Svante
Nó chắc chắn phản trực giác: không nếu dấu trừ là giữa hai toán hạng, nhưng là một toán hạng đơn nhất, nó sẽ được ưu tiên (nhưng nó không bao giờ làm, chỉ là một trong những điều kỳ lạ). –