Pythonの演算子「**」「^」「%」「//」の意味と使い方を徹底解説
Pythonには四則演算以外にも、便利な組み込み演算子が多数用意されています。本記事では、特に初心者が混乱しやすい「**」「^」「%」「//」の4つの演算子について、それぞれの意味と具体的な使い方をサンプルコード付きで解説します。
1. べき乗演算子「**」
**はべき乗(累乗)を計算する演算子です。x**yと書くと、「xをy乗した値」が返されます。
>>> x = 5 >>> y = 3 >>> x**y 125
上記の例では5の3乗を計算しているため、結果は125となります。なお、Pythonではべき乗に^を使う言語(C言語など)に慣れている人が間違えやすいので注意しましょう。
2. ビット単位XOR演算子「^」
^はビット単位の排他的論理和(XOR)を求める演算子です。2つのビットを比較し、片方が1でもう片方が0の場合に1を返します。両方が同じ値(1と1、または0と0)の場合は0になります。
>>> a = 10 >>> bin(a) # 0001 1010 '0b1010' >>> b = 20 >>> bin(b) # 0010 0100 '0b10100' >>> c = a^b >>> c 30 >>> bin(c) # 0011 1110 '0b11110'
bin()関数を使うと整数を2進数表現で確認できます。10と20の各ビットをXOR演算すると、結果は30(2進数で11110)になります。
3. 切り捨て除算(フロア除算)演算子「//」
//はフロア除算(切り捨て除算)を行う演算子です。通常の除算/が浮動小数点数を返すのに対し、//は商のうち小数点以下を切り捨てた整数部分のみを返します。
>>> 10 / 3 3.3333333333333335 >>> 10 // 3 3
負の数の場合の挙動に注意
負の数を含む除算では、//は負の無限大方向へ丸められる点に注意が必要です。つまり、単純に小数部分を捨てるのではなく、結果より小さい最大の整数に丸められます。
>>> -10 / 3 -3.3333333333333335 >>> -10 // 3 -4
-3.33...という計算結果に対して、0方向への切り捨てなら-3ですが、フロア除算では-4になるのがポイントです。
4. 剰余(モジュロ)演算子「%」
%は剰余演算子(モジュロ演算子)と呼ばれ、除算の余りを返します。偶数・奇数の判定や、周期性のある処理などでよく使われます。
>>> 10 % 3 1 >>> 10 % 2 0
負の数の場合の剰余の計算方法
被除数(割られる数)が負の場合、Pythonでは「被除数以上となる最小の倍数との差」として余りが計算されます。そのため、結果は常に除数と同じ符号になります。
>>> -10 % 3 2 >>> -5 % 2 1 >>> 73 % 9 1 >>> -73 % 9 8
例えば-73 % 9の場合、-81(9の倍数で-73以下の最大値)との差である8が結果となります。C言語やJavaなどでは余りの符号が被除数に依存するため、Python特有の挙動として覚えておくと良いでしょう。
まとめ
**:べき乗を計算する(例:5**3 → 125)^:ビット単位のXORを計算する(べき乗ではないので注意)//:小数点以下を切り捨てた整数の商を返す(負の数は負の無限大方向へ丸め)%:除算の余りを返す(負の数の場合は除数と同じ符号になる)
これらの演算子は日常的なプログラミングで頻繁に登場します。特に//と%の負の数における挙動は試験や実務でも問われやすいポイントなので、実際にコードを実行しながら理解を深めてください。
-
LinuxにおけるBashとは?意味・仕組み・使い方を徹底解説
Linuxを使っているなら、フォーラムや記事で「Bash」という言葉を目にしたことがあるでしょう。ターミナルの同義語のように使われることもありますが、Bashとターミナルエミュレータはまったく別のアプリケーションです。では、Bashとは一体何なのでしょうか?この記事では、Bashの正体、その役割、そして実際に使い始める方法までをわかりやすく解説します。 Bashとは何か Bashという名前は「Bourne-Again SHell」の頭文字から来ています。これは、Bashの前身の一つを作ったStephen Bourne(スティーブン・ボーン)の名前をもじった言葉遊びです。最初のベータ版は1989
-
アプリ内課金とは?意味から仕組み、メリット・デメリットまで徹底解説
モバイルアプリを日常的に使っている方なら、「アプリ内課金」という言葉に触れたことがあるはずです。ただし、その正確な意味や仕組みについては、曖昧に感じている人も少なくないでしょう。 アプリ内課金について理解することは重要です。実際に利用する際だけでなく、プライバシー、セキュリティ、法規制など、常に変化し続ける関連議論に参加するためにも必要な知識だからです。 「アプリ内課金」とは何を意味するのか? Investopediaでは、アプリ内課金を「モバイルデバイス上のアプリケーション内部から商品やサービスを購入すること」と定義しています。これは出発点として良い定義ですが、情報源や文脈によって、より細か