Python 学習:所謂“三項演算子”

2014-04-11 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、2、0、1、2、 0、0、0、1、1(40)で、換算ポイント 56pt 。
前回記事の後「数学」にランクインして40カテゴリ。(2,060位0.12bg)
「グルコサミン」昨日朝方、3位から5位にダウン!
「Firefox」も昨日朝方、5位から一気に9位にダウン!!!
      更に、今朝方10位にまで!!!!!
・-・ - -・

さて、本文。

Python 学習は、まだまだ続く。


所謂、“三項演算子”。

「$x < 128 なら $y に 0 を代入し、そうで無ければ 255 を代入する。」
Perl だと、

$y = $x < 128 ? 0 : 255

の様に記述する「3項演算子」


検索してみたら、・・・
「Python Snippets」の、
Pythonでの3項演算子の記述はどうするのか?」があった。
(2012年12月8日の記事)

  単純なケースならばif文よりも簡潔に記述できるので、Pythonでも使いたいです。
  JavaScriptの例
  ・・・・・
  ・・・・・
  同様のことをPythonで記述するには、以下のようになります。
  ・・・・・
  ・・・・・
  JavaScriptでの記述に慣れているとすごく違和感あります。
  ・・・・・
  ・・・・・


つまり、
「x < 128 なら y に 0 を代入し、そうで無ければ 255 を代入する。」
Python では、
は、

y = 0 if x <128 else 255



それで、上記記事には、

  ・・・・・
  ちなみに

  この条件的な代入方式の記述を、「3項演算子」って呼ぶのは不適切です。
  (正しくは条件演算子だそうです。)
  3項演算子は「項が3つある演算子」という意味です。
  +演算子などの2項演算子に対して3つあるから3項演算子です。
  ですがJavaやC言語において項が3つある演算子はこの条件的な
  代入しかないため、3項演算子=条件的な代入と定着しています。
  演算子の種類として3項ではありますが、
  必ずしも3項演算子=条件的な代入とみなすのはおかしいと思っています。

  ただ一般的に、検索したり会話に用いられるこの
  条件的な代入を「3項演算子」と呼ぶのは紛れも無い事実だと思います。
  もはや条件演算子の事を3項演算子って呼ぶのは、
  しかたのないことだと思っています。

  ・・・・

とありますね。


正しくは、「条件演算子」と呼ぶ。

日本語訳「Python 2.7ja1 documentation」の、
式 (expression)
の終わりの方にある。

  ・・・・・
  条件演算 (Conditional Expressions)
    バージョン 2.5 で追加.

conditional_expression ::= or_test ["if" or_test "else" expression]
expression ::= conditional_expression | lambda_form

  条件演算式 (しばしば、”三項演算子” と呼ばれます)
  は最も優先度が低いPython の操作です。
  ・・・・・


おまけ。
次のパラグラフは、
「ラムダ (lambda)」
についてだった。

  ・・・・・
  ラムダ形式 (lambda form, ラムダ式 (lambda expression)) は、
  構文法的には式と同じ位置付けになります。
  ラムダは、無名関数を作成できる省略記法です:・・・
  ・・・・・

無名関数



まだまだ、Python の学習は続く、・・・


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140302
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク