본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬] 기초문법(2) - 기초 연산자/함수 사용

by 석세상 2022. 4. 25.
반응형

파이썬을 공부할 때 어떤 부분을 먼저 어떤 부분을 해야 하는지 고민하다가 연산자, 연산에 필요한 기초 함수 먼저 보기로 했다. 자료구조나 형태를 먼저 보는 경우도 있는데 아무것도 모르는 사람이 보기에는 무슨 말인지 이해가 되지 않을 거다. 그래서 먼저 계산이 가능한 부분을 먼저 보면 이해하기 쉽게 눈에 보이는 결과로 떨어지기 때문에 선택했다.

 

먼저 연산자부터 익혀보자. 지난번에 마지막에 정리한 연산자 중 더하기, 빼기, 곱하기, 나누기는 제외하고 그 외 연산자와 함수 중 연산에 사용되는 함수도 같이 정리해보자.

 

기초 연산자 및 사용 방법

** : 거듭제곱

  • 우리가 수학 시간에 배울 때 4의 2승 하면 숫자 4 오른쪽 위에 작게 2를 쓰지만 파이썬에서는 곱하기(*) 기호를 두 번 연달아 쓴다
  • 4의 2승은 다음과 같이 쓴다. 4**2, 결과는 16
  • 함수를 사용하여 거듭제곱을 표시할 수도 있다. pow(4,2)로 쓰면 4**2와 동일한 결과가 생성된다.

 

// : 몫

  • 우리가 어릴 적 수학 시간에 배웠듯이 어떤 수를 나누었을 때 나누어지는 값이다
  • 5/3인 경우 몫은 1이다

 

% : 나머지

  • 나누기를 연산할 때 나누어지는 수 외 남아있는 값이다
  • 5//3인 경우 나머지는 2이다

 

== : 같다

  • 비교 연산 시 사용하는데 '=' 기호는 대입을 의미한다면 '==' 기호는 왼편과 오른쪽의 같은지 여부를 비교한다
  • name = 3인 경우 name에 3을 대입하지만 name == 3에서 name은 3이 아니기 때문에 False라는 결과가 나타난다
  • =와 ==의 차이를 잘 알아두자

 

!= : 같지 않다

  • 위와 마찬가지로 비교 연산 시 사용하는데 '!=' 기호는 왼편과 오른쪽의 같지 않은지를 체크한다
  •  name != 3에서 name은 3이 아니기 때문에 True라는 결과가 나타난다

 

and / or : 이고, 또는

  • 역시 비교 연산에 사용하는데 print((3>0) and (3 <5))라고 쓰면 3은 0보다 크고 3은 5보다 작다. 맞는 내용이니 True를 결괏값으로 보여준다. and 대신 or를 쓴 경우는 3이 0보다 크거나 3이 5보다 작으면 이라는 의미로 둘 중 하나라도 맞으면 True를 결과로 보여주기 때문에 이 역시 True로 나타난다.
  • and는 &, or는 | 로도 표시할 수 있다

 

 

 

함수로 된 연산자 및 사용 방법

not : 아니다

  • 나타난 결과의 값과 반대인 경우를 체크한다
  • name != 3일 때 True 였지만 not(name!= 3)인 경우는 False로 나타난다
    • name이 3이 아니면 True지만 그 반대이기 때문에 False로 결과 생성

 

abs, max, min, round :  절댓값, 최댓값, 최솟값, 반올림

  • 다음은 해당 함수 오른편 괄호 안에 들어간 값에 대해 나타내는 함수이다.
  • abs : abs(-3)을 넣으면 결과는 3으로 나타난다
  • max/min : max(3,4,5)의 경우 5를, min(3,4,5)인 경우 3의 결과가 나타난다
  • round : round(3.5)의 경우 4로 결과를 출력한다. 

 

floor, ceil, sqrt :  내림, 올림, 루트

  • 앞의 함수들은 기본으로 파이썬에 탑재된 함수로써 그냥 사용해도 되지만 다음 함수들은 그냥 사용이 불가능하고 모듈이라는 것을 실행해주어야 한다. 모듈이란 기본적인 기능 외 추가적인 기능을 사용할 때 쓰이는데 누가 만들어 둔 함수나 계산식 등 다양한 유용한 것들을 사용할 수 있다. 모듈을 많이 알 수록 나의 작업이 수월해지지만 워낙 많기 때문에 자주 다 알기는 어렵고 내가 자주 사용하는 모듈 정도는 익혀두는 게 좋다. 
  • 다음 함수를 사용하기 위해서는 반드시 math 모듈을 실행해 주어야 한다
    • import math
    • math.floor(3.5), math.ceil(3.5), math.sqrt(3.5)의 결과는 각각 3, 4, 1.87로 나타난다
  • 그 외 trunc라는 함수도 있는데 floor와의 차이점을 비교해보자
    • math.floor(-3.5)인 경우는 결과가 -4로 나타난다. 이유인 즉, 내림으로 괄호 안의 수보다 작은 정수를 나타내기 때문이다
    • math.trunc(-3.5)의 경우는 결과가 -3이다. 이 부분에서 floor와 차이가 발생하게 되는데 trunc는 정수 뒷부분을 잘라서 정수만 남기는 함수이다. 그래서 마이너스 값일 때 명확한 차이가 드러난다

 

그 외 기타 유용한 연산기호

*=, /=, -=, %=

  • 두 가지 기능을 결합한 형태로 생각하면 되고 다음과 같은 의미로 사용된다.
  • 아래 예제를 보면 age에 30을 대입했다. 그다음으로 age에 age + 2를 대입하는데 지금 age에는 30이라는 값이 들어있어 32가 결과로 생성된다. 다음과 같이 두 번째 줄에 있는 내용을 화살표 부분과 같이 쓰면 같은 의미라고 보면 된다. 직관적으로 이해가 한 번에 되지는 않지만 익숙해지면 자주 사용할 것 같다
age = 30
age = age + 2

→ age += 2

728x90
반응형

댓글