PythonとC言語の演算子の違いを押さえよう!サンプルコードを用いて解説!
PythonとC言語の演算子の違いについて解説しました。PythonとC言語の演算子の違いについて学びましょう。演算子はプログラミングにおける基本的な計算を行うためのものです。でもPythonとC言語の演算子にそこまで差はなかったりします。
PythonとC言語の演算子について
今回はPythonとC言語の演算子について違いを押さえます。
演算子と聞くと、「計算の時だけ必要なんでしょ?」と思うかも知れません。
しかし、実際のところ計算以外の処理でも演算子は普通に使用されます。
必ず押さえておくべき内容なので、しっかりとマスターしましょう。
目次
01. PythonとC言語の演算子とは
02. 代表的なPythonとC言語の演算子とは
03. PythonとC言語のビット演算子とは
04. Pythonの比較演算子とは
05. まとめ
01. PythonとC言語の演算子とは
端的に表現すると、演算を表した記号を演算子といいます。
加算や減算などの算術計算を行う演算子は算術演算子といいます。
02. 代表的なPythonとC言語の演算子とは
この2つの式は同義です。
演算子には優先度が存在します。
通常の計算と同じように基本的には左側から行われ、*や/、()や{}が優先される点も変わりません。
中学校程度の内容なので問題はないとは思いますが一応触れておきました。
この動きは少しわかりにくいと思います。
ここでは代入の意味を理解していないとaとbとcは同じなんだなと解釈してしまいがちです。
しかし=の意味は代入であり、代入したいものを代入する入れ物に入れるイメージです。
そのためbにcを代入してcが代入されたbをaに代入するという流れです。
++をインクリメント演算子、ーーをデクリメント演算子と言います。
インクリメント演算子は変数に1を加えます。
デクリメント演算子は変数から1を引きます。
データ型を一時的に変換する演算子を型変換演算子、またはキャスト演算子といい、()のなかに変換後のデータ型を入れて表します。
つまり計算中に型を変換することができる演算子です。
C言語では式の中に異なるデータ型が存在する場合は計算結果に上位のデータ型に変換されます。
次にPythonの演算子についてC言語との違いを学んでいきます。
後半にビット演算子が入ってしまっていますが後に触れます。
Pythonで扱う代入演算子と代数演算子はこのように使用します。
代入演算子と代数演算子は主に計算に用います。
03. PythonとC言語のビット演算子
ここではビット演算を行うためのビット演算子について触れていきます。
ビットとは0や1のみで表された値をいいます。
2進数のことです。
0と1の並びをビット列といいます。
|はビット演算のORを表しています。
大文字のAが小文字のaに変換されました。
ビット演算ではこのような変換を行うことができます。
Aの文字コードは0x41でaの文字コードは0x61です。
bには0x20を代入しています。このことからわかることは、ORは加算に近い処理です。
同じ要素はそのまま残してどちらかにあるものを組み合わせて両方を満たす値を生成します。
2進数を論理演算しています。
ちなみに文字コードは2進数で表現されています。
ANDを意味します。
ANDは両方に共存する要素を残します。
もし仮にa&bで変数aが01でbが10なら演算結果は00です。
これはビットをシフトする演算子です。
符号ありでも符号なしでも4つ分左にずらしずれたところには0を補充します。
変数の値が負の場合は1が補充されます。
これはビットの1を0にして0を1にします。
ビットごとの排他的ORを取る演算子です。
Pythonのビット演算子について触れていきましょう。
根本的な意味合いはC言語と同じです。
Pythonはデータをビット型で考えることはあまりないような気がします。
根本的な原理としてビット型で考えることがあるのでイメージできるようにしておくといいと思います。
04. Pythonの比較演算子とは
Pythonの比較演算子についてC言語との違いを学んでいきましょう。
ここで挙げている演算子は基本的な論理演算を可能とする簡単な演算子です。
次はPythonのブール演算子です。
ブール演算子は論理的な処理を可能とします。
次はPythonの条件演算子についてです。
xがcであればxを返しさもなければyを返します。
最後に文字列演算について学習しましょう。
これは文字列に対して行うことができる演算です。
ちなみに文字列でもなんでもプログラミングの世界では0から数えていきます。
04. まとめ
お疲れ様でした。
ここまで読んでいただきありがとうございます。
今回の学習で演算子は網羅しています。
よく使うのはPythonであれば比較演算子やブール演算子を使うと思います。
Pythonの部分はとほほさんを参考にさせていただいています。