あなたが書いた文の(論理行)のほとんどは、式(式)が含まれています。表現の簡単な例です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
出力8
。2
進数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
出力False
、3 < 6
出力True
。- 比較すると、任意の組成のリンクで構成することができます:
3 < 5 < 7
リターンTrue
。
- 戻り値xがy未満です。すべての結果は、比較演算子を返され
>
(より大きい)- 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
、返されますFalse
。xがされている場合はFalse
、返されますTrue
。 x = True; not x
リターンFalse
。
- xがされている場合は
and
(ブール「と」)- xがある場合
False
、その後x and y
戻ってFalse
、それ以外の場合は、Yの評価を返します。 - xがある場合には
False
、時間、x = False; y = True; x and y
それが返されますFalse
。この文脈において、Pythonは左及び発現があることが理解されているように、YをカウントしないであろうFalse
、その全体の発現がされることを意味False
し、別の値ではないであろう。この状態は、短絡計算(短絡評価)と呼ばれています。
- xがある場合
or
(ブール「または」)- xがある場合
True
、戻りTrue
、それ以外の場合は、Yの評価を返します。 x = Ture; y = False; x or y
私たちは、返しますTure
。また、ここでは短絡評価を適用します。
- xがある場合
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] パイソンの発現バイトのオペレータ