Pythonの三項演算子とlambda式での不具合

0

以下の投稿の時もだったけれど、何かあぶねえ。。。

Python の 三項演算子 は 複数の値(tuple)を返せる

Python では、p if True else q で、三項演算子できるけれど、
それで lambda を返そうとすると、なんか上手く行かない時が。
しかも例外出ないから怖い。

fn(0) でラムダ実行しているのに、値じゃなくって関数が返ってくる。

この式、条件が True の場合は、正常に値を返します。

False の場合は、値ではなく関数?を返している模様(冒頭参照)。

解決策は、先の lambda を括弧で囲むこと。

あぶねえから、三項演算子の二つの項は、括弧で囲むべきかも。

カテゴリー:


0