7. 파이썬의 연산자 알아보기

2020. 5. 8. 23:01Investment Story/금융공학 - 파이썬

반응형

안녕하세요. 자꿈두입니다. 

금일 포스팅에서는 파이썬에서 쓰이는 연산자에 대해 알아보겠습니다. 

초등학교 시절 누구나 사칙연산을 배우죠. 

덧셈, 뺄셈, 곱셉, 나눗셈 등등이요..

파이썬에서도 똑같이 값을 연산하는 연산자가 있습니다. 

자주쓰이는 산술연산자, 비교연산자, 논리연산자 그리고 비트연산자에 대해 알아보도록 하겠습니다. 


산술연산자

덧셈 뺄셈 곱셈 거듭제곱 나눗셈 나눗셈 후
값의 정수부분
나눗셈 후
나머지 값
+ - * ** / // %

산술연살자는 위에 정리되어있는 표와 같습니다. 

예시를 몇개 들어보면요.

>>> 3+2

Out : 5

>>> 3**2

Out : 9

>>> 3/2

Out : 1.5

>>> 3//2

Out : 1

>>> 5%1

Out : 1

 

이런식으로 계산기처럼 사용할 수 있습니다. 

다만 나눗셈을 수행하면 파이썬 3.0 이상부터 데이터 타입이 float(실수형)으로 변환됩니다. 

무슨말이냐면, 두 개의 정수형 데이터 타입을 가진 변수를 나눗셈을 실행하면 결과는 실수형으로 변한다는 이야기죠.

나눗셈 후 실수형으로 데이터 타입 변환

위 그림과 같이 두 개의 정수형 변수 a와 b의 나눗셈 결과를 c 라고 할당했을 때, c의 데이터 타입은 float, 즉 실수형으로 생성된 것을 확인할 수 있습니다.

 


비교연산자

같은지 비교 다른지 비교 초과인지 비교 이상인지 비교 미만인지 비교 이하인지 비교
== != > >= < <=

비교연산자는 주로 조건문에서 쓰입니다.

비교한 후 값이 True인지 False인지로 반환하기에 결과값은 부울형(Boolean)으로 반환되죠.

예시를 보겠습니다.

>>> 1!=2

Out : True

>>> 1==2
Out : False

>>> 3>3

Out : False

>>> 3>=3

Out : True

>>> 5>3>7

Out : False

>>> 2<4<9

Out : True


논리연산자

논리연산자에는 and, or 그리고 not이 있습니다.

이 연산은 부울형(Boolean) 데이터를 연산하는데 쓰입니다.

결과값도 부울형 데이터 타입으로 반환되죠.

먼저 and, or의 진리표(Truth Table)을 보겠습니다.

A B and or
False False False False
False True False True
True False False True
True True True True

위 연산의 대상자는 A, B 이고요, 

A, B가 값에 맞추어 and와 or의 결과값을 보여주고 있습니다.

and는 둘 다 True 일 경우만 True를 반환하고,

or는 둘 중 하나만 True 이어도 True를 반환하죠.

 

not은 값을 바꾸어 줍니다. Ture에서 False로, False에서 True로 바꾸어주죠.


비트연산자

비트는 0과 1로 구성된 문자열을 의미합니다.

즉 비트 연산자는 0과 1로 구성된 문자열을 연산할 때 쓰이는 연산자죠.

논리곱(AND) 논리합(OR) 상호배제적 or(XOR) 부정연산(NOT)
& | ^ ~

비트 연산이 생소하실 분들을 위해 간단한 예시를 보여드리겠습니다. 

A 라는 변수는 010111 이라는 값을 갖고 있고, 

B 라는 변수는 100110 이라는 값을 갖는다고 가정을 할 시, 

A & B 의 값은 논리 곱으로 같은 비트열에 있는 숫자가 둘 다 1일때만 1을 반환하고 나머지는 0을 반환하게 됩니다.

즉, A & B = 000110 이라는 값을 반환하게 되죠. 

A | B 의 값은 논리 합으로 같은 비트열에 있는 숫자가 하나라도 1일 때 1을 반환하고 둘 다 0일 때만 0을 반환합니다.

즉, A | B = 110111 이라는 값을 반환합니다. 

A ^ B 의 값은 Exclusive OR의 연산을 거치게 되는데요, 이는 같은 비트열에 있는 숫자가 다를 시에만 1을 반환합니다.

즉, A ^ B = 110001 이라는 값을 반환합니다. 

부정연산은 모든 비트를 거꾸로 반환하면 됩니다.

~A = 101000 이 되는거죠.


연산자의 우선순위

사칙연산에도 우선순위가 있죠,

곱셈이 덧셈보다 우선시 되는것처럼요. 

파이썬 연산자도 우선순위가 있습니다. 우선순위는 다음과 같습니다.

  1. ** 지수승
  2. ~ 비트 부정연산
  3. *, /, % 곱셈, 나눗셈, 나머지
  4. +, - 덧셈, 뺄셈
  5. & 비트 AND
  6. ^ 비트 XOR
  7. | 비트 OR
  8. >, >=, <, <= 비교연산자
  9. not 논리연산 not
  10. and 논리연산 and
  11. or 논리연산 or

이상 금일은 파이썬 연산자에 대해 알아보았습니다. 

다음 포스팅은 문자열에 대해 알아보는 시간을 갖겠습니다. 

읽어주신 모든 분들께 감사드립니다.

반응형