peewee docsを読んでいると、驚くべき声明を見つけました。
# python code
messages = Message.select().where(
Message.user << user.following()
)
うわー、誰かがそれが何をするのか説明してもらえますか? 私はそれ<<
が単なるlshift(左シフト)演算子であることを知っています(これはバイナリ表現を整数の左に移動します。同様の動作が右シフトに適用されます)が、これがリストを処理できることを知りませんでした(user.following()
is a list )。peewee の作成者によって書かれた演算子のオーバーロードだけですか、それとも私が知らない何らかの Python コア機能ですか?