Python_演算子

数値演算

四則演算

加算


num = 1 + 1  # 2 
num += 1     # 3

減算


num = 1 - 1  # 0
num -= 1     # -1

乗算


num = 1 * 2  # 2
num *= 2     # 4

除算


num = 5 / 2  # 2.5
num /= 2     # 1.25

その他計算

整数に切り捨てる演算


num = 5 // 2  # 2
num //= 2     # 1

剰余


num = 14 % 5  # 4
num %= 3      # 1

累乗


num = 2 ** 3  # 8 
num **= 2     # 64

インクリメント

Pythonではインクリメント・ディクリメントの記述はできません。


num++ # エラーとなります。num += 1を使います。
num-- # エラーとなります。num -= 1を使います。

ビット演算

シフト演算


#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# vim:fileencoding=utf-8
# coding=utf8


def binary_print(num):
    print(format(num, 'b').zfill(8))


num = 2
num = num << 1
binary_print(num)  # 00000100

num = 255
num = num >> 4
binary_print(num)  # 00001111

ビット演算


#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# vim:fileencoding=utf-8


def binary_print(num):
    print(format(num, 'b').zfill(8))


# or
num = 0b00001111       # 00001111
num = num | 0b11110000 # 11110000
binary_print(num)      # 11111111

# and
num = 0o17             # 00001111
num = num & 0o377      # 11111111
binary_print(num)      # 00001111

# xor
num = 0x2B             # 00101011
num = num ^ 0x9A       # 10011010
binary_print(num)      # 10110001


論理演算

Pythonの論理演算にでは、orやandは必ずしもTrue/Falseを返すわけではないので注意が必要です。


or

x が偽なら y 、そうでなければ x を返す。


bool = True or False    # True
bool = False or True    # True

bool = (1 < 2) or False # True
bool = (1 > 2) or False # False

and

x が偽なら x 、そうでなければ y を返す。


bool = True and False   # False
bool = False and True   # False

bool = (1 < 2) and True # True
bool = (1 > 2) and True # False

not

x が偽なら True 、そうでなければ False を返す。


bool = not True   # False
bool = not False  # True

bool = not (1 < 2) # False
bool = not (1 > 2) # True

関連ページ