Pythonの基礎 - 式の演算子

あなたが書いた文の(論理行)のほとんどは、式(式)が含まれています。表現の簡単な例です2+3これは、式演算子(オペレータ)とオペランド(オペランド)に分割することができます。

*演算子(演算子)*は、特定の操作であり、そのようなものとして、使用することができる+機能的発現またはキーワードなどの特殊記号です。オペレータは、このようなデータは、と呼ばれ、いくつかのデータを操作するために必要数(オペランド)動作上記の例では2及び3操作の数という。

1.オペレーター

次の演算子が利用可能な事実です。

  • +(プラス)
    • 二つのオブジェクトが追加されます。
    • 3+5出力8'a' + 'b'出力'ab'
  • -(マイナス)
    • 第一オペランドが存在しない場合は別の、からの1つの数を減じ、ゼロであると仮定する。
    • -5.2負の出力50 - 24出力26
  • *(乗算)
    • これは、2つの数の積を与える、または指定した回数を繰り返した文字列の結果を返します。
    • 2 * 3出力6。'la' * 3出力'lalala'
  • ** (パワー)
    • 戻り値は、xをy乗。
    • 3 ** 4出力81(すなわち、3 * 3 * 3 * 3)。
  • / (除きます)
    • yで割ったX
    • 13 / 3出力4.333333333333333
  • // (可分)
    • X yで割った結果が最も近い整数に切り捨て。
    • 13 // 3出力4
    • -13 // 3出力-5
  • %(剰余)
    • 分割後の余りを返します。
    • 13 % 3出力1-25.5 % 2.25出力1.5
  • << (左)
    • デジタルビットは、移動する桁数を指定するために残しました。(バイナリメモリの各数に対して数、すなわち、0と1)
    • 2 << 2出力82進数10
      左に2ビットを取得します1000結果のを10進数で表現8
  • >> (右)
    • 指定されたビットの右桁の携帯電話番号。
    • 11 >> 1 出力5。
    • 11バイナリとして表され1011、ある右出力した後101、結果の10進数で表現5
  • & (ビット単位AND)
    • デジタルビット演算。
    • 5 & 3出力1
  • | (ビット単位OR)
    • ビット単位またはデジタル操作。
    • 5 | 3出力7
  • ^(ビット単位の排他的論理和)
    • デジタルは、XOR演算をビット単位。
    • 5 ^ 3出力6
  • ~(ビット単位)
    • xのビット単位の結果は、 - (X + 1)。
    • ~5出力-6この例の詳細についてはで見つけることができます:http://stackoverflow.com/a/11810203
  • < (未満)
    • 戻り値xがy未満です。すべての結果は、比較演算子を返されTrueたりFalseこれらの名前に大文字に注意してください。
    • 5 < 3出力False3 < 6出力True
    • 比較すると、任意の組成のリンクで構成することができます:3 < 5 < 7リターンTrue
  • > (より大きい)
    • xがyよりも大きいかどうかを返します。
    • 5 > 3リターンTrue両方のオペランドが数値である場合は、最初に共通の型に変換されます。それ以外の場合は、常に返しますFalse
  • <=(以下)
    • 戻り値xがy以下です。
    • x = 3; y = 6; x<=yリターンTrue
  • >= (以上)
    • xがyに等しいより以上であるかどうかを返します。
    • x = 4; y = 3; x>=3リターンTrue
  • == (等しいです)
    • 2つのオブジェクトが等しいかどうかを比較してください。
    • x = 2; y = 2; x == yリターンTrue
    • x = 'str'; y = 'stR'; x == yリターンFalse
    • x = 'str'; y = 'str'; x == yリターンTrue
  • != (等しくありません)
    • 2つのオブジェクトが等しくない比較。
    • x = 2; y = 3; x != yリターンTrue
  • not (ブール "NOT")
    • xがされている場合はTrue、返されますFalsexがされている場合はFalse、返されますTrue
    • x = True; not xリターンFalse
  • and (ブール「と」)
    • xがある場合False、その後x and y戻ってFalse、それ以外の場合は、Yの評価を返します。
    • xがある場合にはFalse、時間、x = False; y = True; x and yそれが返されますFalseこの文脈において、Pythonは左及び発現があることが理解されているように、YをカウントしないであろうFalse、その全体の発現がされることを意味Falseし、別の値ではないであろう。この状態は、短絡計算(短絡評価)と呼ばれています。
  • or(ブール「または」)
    • xがある場合True、戻りTrue、それ以外の場合は、Yの評価を返します。
    • x = Ture; y = False; x or y私たちは、返しますTureまた、ここでは短絡評価を適用します。

2.ショートカットと数値計算の割り当て

より一般的な操作は次のように迅速な表現が通常であるので、このタイプの動作のために、変数と結果は、この変数に返された数学の操作です:

a = 2
a = a * 3

同じ缶は、次のように書くことも。

a = 2
a *= 3

ことに注意すること变量 = 变量 运算 表达式に進化を变量 运算 = 表达式

3.評価の順序

Pythonは最高の優先順位(最も結合)に最も低い優先順位(最小結合)から優先順位テーブルを説明します。この手段すなわち、与えられた式において、Pythonの計算ランクの式の演算子の優先順位テーブルにおいて優先度の高いです。

以下からの整合性を維持するためには、次の表は、Pythonのリファレンスマニュアル参照がでてきます。あなたはより良い利用がより明確に優先順位を指定するには、グループの演算子とオペランドに演算子を括弧思います。これは、プログラムが読みやすくなります。あなたは読むことができ、操作の順序を変更する詳細については。

  • lambda:ラムダ式
  • if - else:条件式
  • or:ブール「または」
  • and:ブール「と」
  • not X:ブール "NOT"
  • in, not in, is, is not, <, <=, >, >=, !=, ==:メンバーシップ・テスト(メンバーシップ・テスト)及び同一性試験(アイデンティティ・テスト)を含め、比較してください。
  • |:ビット単位のOR
  • ^:ビット単位のXOR
  • &:ビット単位のAND
  • <<, >>:モバイル
  • +, -:加算と減算
  • *, /, //, %:乗算、除算、分割は、余りを取ります
  • +x, -x, ~x:正、負、ビット単位
  • **:べき乗
  • x[index], x[index:index], x(arguments...), x.attribute:添字、スライスと呼ばれる属性が引用しました
  • (expressions...), [expressions...], {key: value...}, {expressions...}:結合またはタプル表現、明示リスト、辞書のコレクションを表し

私たちは、オペレータは後の章で説明するがありませんでした。

演算子は、同じ優先順位を有する上記の表に同じ行をランク付けしました。例えば、+と - 同じ優先順位を持っています。

4.変更操作の順序

読み表現を容易にするために、我々は括弧を使用することができます。例えば、2 + (3 * 4)自然よりも2 + 3 * 4、理解しやすいように、後者は演算子の優先順位を理解する必要があるため。そして、他のすべてと同様、同じことがまた、ささやかな(しかし過剰ではない)括弧を使用する必要がありますが、同じようであってはならない(2 + (3 * 4))ので、冗長。

使用して、追加の利点がある括弧-それは操作の順序を変更するために私たちを支援します。あなたは計算の乗算式で添加することによって先行されなければならない計算したい場合は同様にたとえば、あなたは式を書くことができます(2 + 3) * 4

バインディング

演算子は、通常、左から右に関連付けられています。同じ優先度で、左から右の方法に事業者が次々に評価することをこれが意味。2 + 3 + 4意志に(2 + 3) +4フォームを計算します。

6.式

ケース(expression.pyとして保存します):

length = 5
breadth = 2

area = length * breadth
print('Area is', area)
print('Perimeter is', 2 * (length + breadth))

出力:

Area is 10
Perimeter is 14

それぞれの名前にしてという名前の変数に保存されている幅(横幅)に長方形(長さ)の長さ。そして表現で我々は、長方形(エリア)と円周(境界)の面積を計算するためにそれらを使用しています。私たちは、表現されますlength * breadth結果が変数に格納areaし、使用してprint印刷機能を。後者の場合、我々は直接print式関数の使用2 * (length + breadth)値を。

同時に、あなたは、Pythonはかなりの出力結果を印刷する方法を認識する必要があります。我々は、具体的にはしませんでしたが、Area isと変数area我々はきちんとした出力を得ることができるので、指定された空間の間、Pythonは一緒に私たちを助けるだろうが、また、我々が使用する必要はありませんので、このようなAプログラム・アプローチは、(読みやすくなるためスペースの問題を考慮した文字列を出力)。これは、Pythonプログラマは、パラダイムの生活をより便利に、より良いようにする方法です。

概要

我々はすでに、これらは任意のプログラムの私たちの基本的なビルディングブロックです----演算子、オペランドと表現を使用する方法を知っています。次に、我々はプログラムでこれらの文を十分に活用する方法について説明します。

リソース

[1] パイソンの発現バイトのオペレータ

公開された66元の記事 ウォンの賞賛101 ・は 30000 +を見て

おすすめ

転載: blog.csdn.net/u010705932/article/details/104400486