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