본문 바로가기
파이썬 이야기

Part 19. 파이썬 연산자의 모든 것

by 핸들이없는8톤트럭 2022. 7. 28.
반응형

연산자는 피연사자를 변환하는 문법적인 요소입니다. 피연산자는 연산의 대상이 되는 변수 또는 리터럴를 의미합니다. 리터럴이란 변수에 저장되지 않고 코드에 값으로 작성된 객체를 의미합니다. 파이썬의 연산자는 같은 연산자라 하더라도, 피연산자의 자료형에 따라 다르게 동작합니다. 파이썬의 연ㅅ나자는 피연사자가 1개 또는 2개로 이루어지고 있습니다.

 

산술연산자(Arithmetic Operators)

산술 연산자는 수학에서 사용하는 연산자로서, 주로 사칙연산에 이용됩니다.

+ : 덧셈(연결)

- : 뺄셈

* : 곱셈

** : 거듭제곱

/ : 나눗셈

// : 나눗셈의 몫

% : 나눗셈의 나머지

-피연산자 : 음의 부호를 의미

+피연산자 : 양의 부호를 의미

 

비교연산자(Relational Operators)

관계 연산자라고도 불리는 비교연산자입니다. 값의 대소 비교 또는 일치 여부를 알려주는 연산자입니다. 비교하는 연산자이기 때문에, 피연산자가 2개입니다.

== : 같은지 알려줌 --> 같으면 True, 다르면 False로 값이 출력되게 됩니다.

!= : 다른게 맞는지 --> 다르면 : True, 같으면 False 출력

> : 왼쪽 피연산자가 더 큰지 : 왼쪽이 크면 True, 나머지 경우는 False

>= : 왼쪽 피연산자가 크거나 같은지 : 왼쪽이 크거나 같으면 True, 나머지 경우는 False

< : 오른쪽 피연산자가 더 큰지 : 오른쪽 피연산자가 더 크면 True, 나머지 경우는 False

<= : 오른쪽 피연산자가 크거나 같은지 : 오른쪽 피연산자가 크거나 같으면 True, 나머지 경우는 False

 

할당 연산자(Assignment Operators)

할당 연산자는 변수에 값을 할당하는 연산자로, 우측의 값을 좌측 변수에 할당하는 연산자입니다. 산술연산자는 비트연산자 등과 결합된 복합 할당 연산자라고도 합니다.

= : 우측의 값을 좌측 변수에 할당하는 할당 연산자

+=,-=,*= : 산술 연산자와 결합

>>= : 비트 연산자와 결합 예시 ) x = x >> 1 --> True 또는 False를 반환

 

논리 연산자(Logical Operators)

논리 연산자는 논리값끼리 연산하여 논리값을 반환하는 연산자입니다.

and : 논리적인 and를 의미합니다. A와 B 모두 True인 경우 True 반환, 나머지 경우는 False 반환

or : A와 B 중 하나라도 True이면 True 반환, 나머지 경우는 False

not : A True 경우 False, False 경우 True 반환

 

# 논리 연산자(Logical operator)

print("진리표 계산")
A = True
B= True
print(f'{A} and {B} = {A and B}')
A = True
B= False
print(f'{A} and {B} = {A and B}')
A = False
B= True
print(f'{A} and {B} = {A and B}')
A = False
B= False
print(f'{A} and {B} = {A and B}')

print()
print('or의 진리표 계산')
A = True
B= True
print(f'{A} or {B} = {A or B}')
A = True
B= False
print(f'{A} or {B} = {A or B}')
A = False
B= True
print(f'{A} or {B} = {A or B}')
A = False
B= False
print(f'{A} or {B} = {A or B}')

print()
print('not의 진리표 계산')
A = True
print(f'not {A} = { not A}')

print()
print('비교 연산자와의 결합')
x= 40
print(x <= 100 and x >50) # True and False --> False
print(50 < x <=100)

eng_score = 60
math_score = 90
print(eng_score >= 50 and math_score >=90)
print(eng_score >= 50 or math_score >=90)

비트 연산자

비트 연산자는 이진수로 표현한 비트 단위로 연산을 수행합니다.

& : 비트 AND

| : 비트 OR

^ : 비트 XOR

~ : 비트 NOT

 

print('비트연산자')
print(bin(8)) # 10진법을 2진법의 숫자로 바꾸어줌 bin
x= 0b110
y = 0b101
print(f'{bin(x)} <- x')
print(f'{bin(y)} <- y')
print(f'x & y = {bin(x & y)}')

print()
x= 0b110
y = 0b101
print(f'{bin(x)} <- x')
print(f'{bin(y)} <- y')
print(f'x | y = {bin(x | y)}')

print()
x= 0b110
y = 0b101
print(f'{bin(x)} <- x')
print(f'{bin(y)} <- y')
print(f'x ^ y = {bin(x ^ y)}')

print()
x= 0b110110
print(f'{bin(x)} <- x')
print(f'{bin(x >> 1)} <- x >> 1') #오른쪽으로 이동
# 오른쪽으로 쉬프트 하게되면, 값이 1/2이 되게됨. 몫만 남기고, 나머지는 버린다
반응형

'파이썬 이야기' 카테고리의 다른 글

Part 21. 연산자의 우선순위  (0) 2022.08.04
Part 20. 멤버 연산자와 식별 연산자  (0) 2022.08.04
Part 18. 문자열  (0) 2022.07.28
Part 18. 집합 자료형  (0) 2022.07.25
Part 17. 파이썬 리스트와 튜플  (0) 2022.07.24

댓글