[英]Overwriting default behavior for python operators
我知道要改變python中運算符的默認行為,你可以覆蓋一些默認方法,如__add__
或__sub__
for +和 - ,但是沒有找到任何東西來覆蓋and
和or
關鍵字的行為,而有一些用於按位運算符&
, |
:分別為__and__
和__or__
。
你知道這些關鍵詞是否也有鈎子? 我知道這是奇怪覆蓋的默認行為and
& or
,但我需要這個來構建抽象語法樹在運行時從一個python公式出發,真的不希望改變其語義一個奇怪的方式。
如果沒有,我想修改語言本身以獲得此支持。 如果有一些好的專家可以建議我這樣做的正確方法請舉手,否則我想我會問Guido :)
非常感謝floks!
is
, and
, or
不能超載。 如果要編寫Pythonesque DSL,請使用Python語言服務 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.