条件演算子

本物のページはこちら→conditional-operator

Included page "conditional-operator" does not exist (create it now)

Cの場合

C <条件式>? <真の場合>: <偽の場合>
python <真の場合の値> if <条件式> else <偽の場合の値>

Python2.5から三項演算子が導入された。

A = Y if X else Z

Python2.5より前のバージョンでは、次のように書くことで、同じような処理ができる。
ただし、Yが常にtrueである場合に限る。

A = ((X and Y) or Z)

if
条件演算子ともいう

? : a ? b : c aが真ならbが実行、aが偽ならcが実行。

大体はif~else文の方がいいけど、例外もある

  • 単純な2つの値から1つを選ぶ場合

こんな場合は3項演算子のほうがいい

time_str+=(hour>=12)? "pm" : "am";

ifの場合
if(hour>=12){
  time_str+="pm";
}else{
  time_str+="am";
}

ある条件を満たした時だけ値を更新する場合は、ifのほうがいいのかな。
aが偽なら何もしない、だったら3項演算子の意味ないかな。

サポートサイト Wikidot.com