ホームページ  >  記事  >  バックエンド開発  >  Lao Qi から Python のすばらしい演算子を学びましょう

Lao Qi から Python のすばらしい演算子を学びましょう

WBOY
WBOYオリジナル
2016-06-16 08:42:021181ブラウズ

高級コンピューター言語では、演算子は比較的多様です。実際、それらはすべて私たちの日常のニーズから生じています。

算術演算子

以前、加算、減算、乗算、除算などの四則演算について説明しました。対応する記号は + - * / です。さらに、剰余も含まれます。これらは算術演算子です。実際には、これらよりも多くの算術演算子があります。中学数学の知識を踏まえると、読者もべき乗や平方根などもあるはずだと考えるはずだ。

以下に、すべての演算子を示す表を示します。暗記する必要はありませんが、今後使用するが覚えられるか自信がない場合は、よく見て確認してください。

运算符 描述 实例
+ 加 - 两个对象相加 10+20 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 10-20 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 10 * 20 输出结果 200
/ 除 - x除以y 20/10 输出结果 2
% 取余 - 返回除法的余数 20%10 输出结果 0
** 幂 - 返回x的y次幂 10**2 输出结果 100
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

それは奇妙ではありません。これは読者への提案です。IDLE を開いて上記の演算子を順番に試してください。

リストに記載されている裁判官は、中学校の数学の知識を使用して、上記の演算子を混合演算で計算する順序を考えることができます。そして、それが中学校の数学のルールと一致しているかどうか、自分で試してみてください。 (一貫性があるべきです。コンピューター科学者は、私たちを一緒に苦しめるような他のことを考え出すことはありません。)

比較演算子

いわゆる比較とは、1 つのものを 2 つのものと比較することを意味します。これはある国で最も一般的な状況であり、親は自分の子供が何らかの点で劣っているのではないかと恐れ、自分の子供と銀行の給料を比較し、常に自分の方が低いと感じています。

高レベルのコンピューター言語プログラミングでは、同じ型の 2 つの量を比較できます。たとえば、2 つの数値を比較したり、2 つの文字列を比較したりできます。これらは同じタイプの 2 つであることに注意してください。異なる種類の量を比較できますか?まず、この比較には意味がありません。 2オンスの肉と3フィートの布を比較するようなものです。この比較は無意味です。したがって、実際のプログラミングでは、異なる種類の量の比較に注意する必要があります。

ただし、一部の言語では、この無意味な比較が許可されています。比較するときに、数値以外の値を数値型の比較に変換するためです。これについては後で実験してみます。

比較演算子については、小学校の数学で「より大きい」、「より小さい」、「等しい」、「等しくない」などを学びました。 Python であっても、見慣れないものは何もありません。以下の表を見てみましょう:

以下では、変数 a が 10、変数 b が 20 であると仮定しています。

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
> 大于 - 返回x是否大于y (a > b) 返回 False。
3f07bba9fc04db04082517ccde48473d= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
59966ddb18c460b533c0b643ca5f181f>> 4>3 and 45a193caad72b1668066461aeb55ca1ea>> 4<3 and 4<2 False前述したように、文字通りの意味を誤解しやすいです。つまり、and の両側の値を調べても、true であれば true が返されると考えている人が少なくありません。 、そのうちの 1 つが false の場合は false を返します。この理解に基づいて得られる結果は、前の理解に基づいて得られる結果と同じですが、計算量が異なります。

または

or、「または」演算と訳されます。 A と B では、次のように機能します:

<code><pre class="php" style="box-sizing: border-box; border-bottom: 0px; border-left: 0px; padding-bottom: 10px; text-transform: none; background-color: rgb(245,245,245); text-indent: 0px; margin: 20px 0px; padding-left: 10px; letter-spacing: normal; padding-right: 10px; display: block; font: 0.92em/1.3 Menlo, Monaco, Consolas, 'Courier New', monospace; word-wrap: break-word; color: rgb(51,51,51); overflow: auto; word-break: break-all; border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 10px; border-top-left-radius: 2px; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> A==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>:
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>
<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">else</span>:
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> B==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>:
    <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">else</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> B==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">False</span>:
    <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">False</span>
上記の段落は疑似コードです。いわゆる疑似コードとは、実際のコードではなく実行できないことを意味します。しかし、擬似コードには計算過程をコード的に表現するという目的もあります。

読者は上記の疑似コードを理解できますか?次に、各行にコメントを追加します。この擬似コードは自然な英語とほぼ同じです。

<code><pre class="php" style="box-sizing: border-box; border-bottom: 0px; border-left: 0px; padding-bottom: 10px; text-transform: none; background-color: rgb(245,245,245); text-indent: 0px; margin: 20px 0px; padding-left: 10px; letter-spacing: normal; padding-right: 10px; display: block; font: 0.92em/1.3 Menlo, Monaco, Consolas, 'Courier New', monospace; word-wrap: break-word; color: rgb(51,51,51); overflow: auto; word-break: break-all; border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 10px; border-top-left-radius: 2px; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> A==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>:     <span class="comment" style="box-sizing: border-box; font-style: italic; color: rgb(153,153,136)">#如果A的值是True</span>
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>   <span class="comment" style="box-sizing: border-box; font-style: italic; color: rgb(153,153,136)">#返回True,表达式最终结果是True</span>
<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">else</span>:        <span class="comment" style="box-sizing: border-box; font-style: italic; color: rgb(153,153,136)">#否则,也就是A的值不是True</span>
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> B==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>:   <span class="comment" style="box-sizing: border-box; font-style: italic; color: rgb(153,153,136)">#看B的值,然后就返回B的值做为最终结果。</span>
    <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">True</span>
  <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">else</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">if</span> B==<span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">False</span>:
    <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">return</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">False</span>
たとえば、上記の計算プロセスに基づいて、次の例は計算結果と一致していますか?
<code><pre class="python" style="box-sizing: border-box; border-bottom: 0px; border-left: 0px; padding-bottom: 10px; text-transform: none; background-color: rgb(245,245,245); text-indent: 0px; margin: 20px 0px; padding-left: 10px; letter-spacing: normal; padding-right: 10px; display: block; font: 0.92em/1.3 Menlo, Monaco, Consolas, 'Courier New', monospace; word-wrap: break-word; color: rgb(51,51,51); overflow: auto; word-break: break-all; border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 10px; border-top-left-radius: 2px; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="prompt" style="box-sizing: border-box; color: rgb(153,0,115)">>>> </span><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span><<span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">3</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">or</span> <span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span><<span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">9</span>
<span class="built_in" style="box-sizing: border-box; color: rgb(0,134,179)">True</span>
<span class="prompt" style="box-sizing: border-box; color: rgb(153,0,115)">>>> </span><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span><<span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">3</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">or</span> <span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span>><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">9</span>
<span class="built_in" style="box-sizing: border-box; color: rgb(0,134,179)">False</span>
<span class="prompt" style="box-sizing: border-box; color: rgb(153,0,115)">>>> </span><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span>><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">3</span> <span class="keyword" style="box-sizing: border-box; color: rgb(51,51,51); font-weight: bold">or</span> <span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">4</span>><span class="number" style="box-sizing: border-box; color: rgb(0,153,153)">9</span>
<span class="built_in" style="box-sizing: border-box; color: rgb(0,134,179)">True</span>
ではありません そうではありません。「そうではない」と訳されますが、私たちが何に直面しても、それを否定しなければならないのはとても良いことだと思います。

>>> not(4>3)
False
>>> not(4<3)
True
演算子の問題については、実際には上記だけではなく、メンバー演算子など、今後の学習で徐々に遭遇するものもあります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。