自分自身と敵を知り、Python 演算子の優先順位を理解することによってのみ、より良いコードを書くことができます。この記事では、Python の演算子の優先順位を基本概念から紹介し、具体的なコード例を通して理解を深めます。
Python 演算子の優先順位の概念は、数学における演算子の優先順位に似ています。式では、演算子には異なる優先順位があり、優先順位の高い演算子は優先順位の低い演算子よりも前に評価されます。演算子の優先順位を理解していないと、式が期待どおりに評価されない可能性があります。
まず、Python 演算子の分類を知る必要があります。 Python の演算子は、主に算術演算子、比較演算子、代入演算子、論理演算子、ビット演算子に分類されます。各タイプの演算子には特定の優先順位があります。
算術演算子の優先順位は高い順に次のとおりです: 指数演算子 (*)、プラス記号とマイナス記号 ( -)、乗算と除算 (、/、//、%) 、 加減 ( 、 -)。
次は、算術演算子の優先順位の適用を示すサンプル コードです:
a = 2 + 3 * 4 print(a) # 输出结果为14,先计算乘法再加法 b = (2 + 3) * 4 print(b) # 输出结果为20,先计算括号里的加法再乘法 c = 2 ** 3 + 4 print(c) # 输出结果为12,先计算指数运算再加法 d = -2 * 3 print(d) # 输出结果为-6,先计算负号再乘法
比較演算子の優先順位は高く、その優先順位は次のとおりです: Less than ()、以上 (>=)、等しい (==)、等しくない (!=)。
次に、比較演算子の優先順位の例を示します。
e = 4 > 3 + 1 print(e) # 输出结果为False,先计算加法再比较大小 f = 2 + 3 != 5 print(f) # 输出结果为False,先计算加法再比较大小再判断不等于 g = 5 == 2 * 2 + 1 print(g) # 输出结果为True,先计算乘法再加法再比较大小再判断等于
代入演算子の優先順位は比較的低く、その優先順位は右から左の順に次のとおりです。代入演算子 ( =)、インクリメンタル代入演算子 (=、-=、=、/=、//=、%=、*=)。
代入演算子の優先順位の例を見てみましょう:
h = i = j = 1 + 2 print(h, i, j) # 输出结果为3,分别是3,3,3,从右往左赋值 k = 5 k += 2 * 3 print(k) # 输出结果为11,先计算乘法再加法再增量赋值
論理演算子の優先順位は、高いものから低いものまで、not (not)、および (and)、または (or ) です。
次は論理演算子の優先順位の例です:
l = True or False and not True print(l) # 输出结果为True,先计算not再and再or m = (True or False) and not True print(m) # 输出结果为False,先计算括号里的or再and再not
最後はビット演算子の優先順位です。ビット演算子の優先順位は高い順に次のようになります: ビットごとの否定 (~) 、ビット単位の AND (&)、ビット単位の OR (|)、ビット単位の XOR (^)、左シフト (>)。
次の例は、ビット演算子の優先順位の適用を示しています。
n = 3 | 4 ^ 5 & ~6 print(n) # 输出结果为2,顺序为5&~6=4、4^4=0、3|0=3 o = 8 << 2 + 1 print(o) # 输出结果为64,先计算加法再左移 p = 8 >> 2 + 1 print(p) # 输出结果为1,先计算加法再右移
上の例を通じて、Python 演算子の優先順位を明確に理解できます。演算子の優先順位を正確に把握することは、コードの記述および読み取りにとって非常に重要であり、多くの潜在的なエラーを回避できます。この記事が、読者が Python 演算子の優先順位をより深く理解し、実際に柔軟に適用できるようになることを願っています。
以上がPython 演算子の優先順位をマスターし、対戦相手についての洞察を得るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。