연산자

산술 연산자

# 덧셈
print(1+1+2+3)  
# 뺄셈
print(5-3-2)  
# 곱셈
print(8*3*2)
# 나눗셈
print(6/3)  
# 제곱
print(2**3)  
# 나머지연산
print(5 % 3)  
# 몫 연산
print(5//3)  
# 몫, 나머지연산
print(divmod(5,3))
7
0
48
2.0
8
2
1
(1, 2)

관계연산자

print(10 > 3)
print(4 >= 7)
print(10 < 3)
print(5 <= 5)
print(6 > 5 > 4)
print(6 > 5 > 7)

print(3 == 3)
print(3+4 == 7)
print("3" == 3) 

print(1 != 3)
print(2 != 2)
print(3 != "3")
print(not(1 != 3))
True
False
False
True
True
False
True
True
False
True
False
True
False

논리연산자

# 두 조건식 중 둘다 참이면 참 (and, &)
print((3 > 0) and (3 < 5))
print((3 > 0) & (5 < 3)) 
# 두 조건식 중 하나만 참이면 참 (or, |)
print((3 > 0) or (5 < 3))
print((3 < 0) | (5 < 3)) 
True
False
True
False

멤버연산자

# 포함 여부를 판단하는 연산자
list = [1, 3, 5, 7]
print(1 in list)
print(2 in list) 
print(2 not in list)
True
False
True

비트 쉬프트 연산자

  • 2진수 형태로 저장되어 있는 값들을 왼쪽(«)이나 오른쪽(»)으로 지정한 비트 수 만큼 밀어주는 연산
  • «으로 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고, »으로 될 경우에는 왼쪽에 0(0또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라진다
number = 10 # 1010
print(number)
print(number<<1)    # 10100 = 20
print(number>>1)    # 101 = 5
print(number<<2)    # 101000 = 40
print(number>>2)    # 10 = 2
10
20
5
40
2

비트연산자

bin() 메서드를 이용하여 정수를 2진수로 변환이 가능함. 반대로 2진수를 정수로 변환하려면 int() 메서드에 첫번째 인자로 2진수 문자열, 두번째 인자로 2를 입력하여 변환이 가능하다

print(bin(13))
print(int('0b1101',2))
0b1101
13

비트논리연산자

2진수의 각 자리수를 AND, OR, NOT, XOR 연산이 가능

# AND
print(bin(13 & 9))
print(13 & 9)
# OR
print(bin(13 | 9))
print(13 | 9)
# XOR
print(bin(13 ^ 9))
print(13 ^ 9)
# NOT
print(bin(~13))
print(~13)
0b1001
9
0b1101
13
0b100
4
-0b1110
-14

복합대입연산자

number = 2

number += 2
print(number)   # number = number + 2
number -= 2
print(number)   # number = number - 2
number *= 3
print(number)   # number = number * 3
number /= 2
print(number)   # number = number / 2
number **= 3
print(number)   # number = number ** 3
number //= 3
print(number)   # number = number // 3
number %= 2 
print(number)   # number = number % 2
4
2
6
3.0
27.0
9.0
1.0

숫자처리함수

파이썬에는 여러가지 패키지들이 있는데 그중 math 패키지는 산술 계산 함수들이 모여있다

from math import floor, ceil, sqrt, log

# 절댓값
print(abs(-5))

# 제곱
print(pow(4, 2))    # print(4**2)

# 최댓값
print(max(5, 10, 15, 1, 50))

# 최솟값
print(min(5, -1, 20))

# 반올림
print(round(3.1514))
print(round(5.78))
print(round(5.5))

# 버림
print(floor(4.99))

# 올림
print(ceil(3.1))

# 제곱근
print(sqrt(16))
print(sqrt(2))

# 로그
print(log(2))
print(log(100, 10)) # 밑을 10으로하는 로그 100
5
16
50
-1
3
6
6
4
4
4.0
1.4142135623730951
0.6931471805599453
2.0

카테고리:

업데이트:

댓글남기기