sm 기술 블로그

2. 연산자 본문

Python

2. 연산자

sm_hope 2022. 5. 2. 16:56
연산자
프로그램을 짤때 변수나 값을 연산하기 위해 사용되는 부호

(1) 사칙연산

print(1+1) # 2
print(3-2) # 1
print(5*2) # 10
print(6/3) # 2

(2) 제곱 및 나머지 , 몫

print(2**3) # 2^3 = 8
print(5%3) # 나머지 구하기 2
print(10%3) # 1

print(5//3) # 몫구하기 1
print(10//3) # 3

/ 와 // 의 차이점

/ : 나눈 몫을 소수점 까지 표시함

// : 나눈 몫을 정수로만 표시함.

 

(3) boolean

print(10 > 3) # True
print(4 >= 7) # False
print(10 < 3) # False
print(5 <= 5) # True

print(3 == 3) # True
print(4 == 2) # False
print(3 + 4 == 7) # True
print(1 != 3) # True
print(not(1 != 3)) # False

자바에서는 true/false를 반대로 하기 위해서는 !를 사용하지만 파이썬은 not을 통해서 true/false를 반대로 바꿔준다.

 

(4) or, and 연산자 (논리 연산자)

print((3 > 0) and (3 < 5)) # True
print((3 > 0) & (3 < 5)) # True

print((3 > 0) or (3 > 5)) # True
print((3 > 0) | (3 > 5)) # True

print(5 > 4 > 3) # True
print(5 > 4 > 7) # False

자바에서 &&은 파이썬에서는 and 혹은 &로 사용한다.

|| 연산은 | 혹은 or 을 사용한다.

(파이썬은 연산을 여러개 사용하여 boolean을 출력할 수도 있다.)

 

(5) +=, *=, -=, /=, %=

print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20

number = 2 + 3 * 4 # 14
print(number)

number = number + 2 # 16
print(number)

number += 2 # => number = number + 2
print(number) # 18

number *= 2 # 36
print(number)

number /= 2 # 18
print(number)

number -= 2 # 16
print(number)

number %= 5 # 1
print(number)

의미는 자바와 같다.

 

파이썬의 비트 연산자는 다음과 같다.

연산자 기능 문법 설명
& 비트 AND a & b a b의 비트를 AND 연산
| 비트 OR a | b a b의 비트를 OR 연산
^ 비트 XOR a ^ b a b의 비트를 XOR 연산(배타적 OR, Exclusive OR)
~ 비트 NOT ~x x의 비트를 뒤집음
<<  비트 왼쪽 시프트 a << b a의 비트를 b번 왼쪽으로 이동시킴
>>  비트 오른쪽 시프트 a >> b a의 비트를 b번 오른쪽으로 이동시킴
&= 비트 AND 연산 후 할당 a &= b a b의 비트를 AND 연산한 후 결과를 a에 할당
|= 비트 OR 연산 후 할당 a |= b a b의 비트를 OR 연산한 후 결과를 a에 할당
^= 비트 XOR 연산 후 할당 a ^= b a b의 비트를 XOR 연산한 후 결과를 a에 할당
<<= 비트 왼쪽 시프트 후 할당 a <<= b a의 비트를 b번 왼쪽으로 이동시킨 후 결과를 a에 할당
>>= 비트 오른쪽 시프트 후 할당 a >>= b a 

 

또한 연산자는 먼저처리되는 우선순위가 있다.

우선 순위  연산자  설명
1 ( ), list, dictionary, set 내부 연산식 괄호, 리스트, 딕셔너리, set 함수 안쪽 연산식
2 list/ tuple의 indexing, slicing 인덱싱, 슬라이싱
3 ** 지수 연산자 
4 -, +, ~  단항 연산자, 비트 반전 연산자 (ex. -10, ~18)
5 *, /, //, % 곱하기 나누기 몫 나머지 
6 + , -  더하기 빼기 
7 >> , << 비트 이동 연산자 (ex. 1 << 4)
8 & 논리곱 / Bitwise AND
9 ^ 배타적 논리합 / Bitwise XOR
10 | 논리합 / Bitwise AND
11 in, not in, is, is not, <, <=, >=, !=, == 비교 연산자
12 not  Boolean NOT
13 and Boolean AND
14 or Boolean OR
15 if ~ else  조건문, 비교문
16 lambda 람다식

'Python' 카테고리의 다른 글

6. 탈출문자  (0) 2022.05.03
5. 문자열(슬라이싱/문자열 처리함수)  (0) 2022.05.02
4. 랜덤 함수  (0) 2022.05.02
3. 수학 연산(abs/pow/max/min/round/floor/ceil/sqrt)  (0) 2022.05.02
1. print  (0) 2022.05.02
Comments