본문 바로가기

Data analysis story

[Python] 내장함수-print, input, int, float, str, abs, round, pow 함수

안녕하세요 여러분! 오늘은 파이썬 포스팅 그 두번째!

자주 쓰는 몇 가지 내장 함수에 대해 다루어 보도록 하겠습니다!

 

(앞 포스팅에 파이썬의 변수 의미, 변수 생성, 변수 이름, 변수 값 교환 등등 변수에 대해 자세히 다뤘으니 참고하세요!)

 

오늘은 함수에 대해 배워볼 건데요! 함수란 무엇일까요?

 

프로그래밍에서 함수를 설명하기 위해서는 많은 책에서 믹서기를 호출하는데요!

믹서기를 생각해봅시다. 믹서기에 과일을 넣으면? 믹서기가 과일을 갈아 주스를 만들죠!

이렇게 믹서기에 넣는 과일은 입력이고 나오는 과일주스는 출력이 됩니다.

 

그렇다면 믹서기는 무엇일까요? 믹서기는 과일을 입력 받아 주스를 출력하는 함수와 같습니다.

우리가 배우려는 함수는 믹서기의 역할을 하는 것이라고 생각하면 되는데요!

 

입력 값을 가지고 어떤 일을 수행한 다음에 결과물, 출력 값을 내어 놓는 것! 그것이 바로 함수입니다.

그럼 함수를 정의해볼게요!

 

"함수(function)란 특별한 작업을 담당하는 명령어들의 모임입니다."

 

앞서 예시를 든 믹서기도 과일을 간다는 특별한 작업을 담당하잖아요? 그리고 그 믹서기의 가동 원리는 여러 명령어들의 모임으로 완성됐겠죠?

 

파이썬에서는 내장되어 있는 함수를 쓰기도 하고 또 함수를 불러오기도 하고 심지어는 내가 함수를 만들 수까지 있습니다!

 

오늘은 파이썬에 내장되어 있는 기초 함수들 몇 개를 알아보는 시간을 가질게요!

파이썬이 기본적으로 제공하는 내장 함수는 상당히 많습니다.

필수적으로 알아야 할 함수들 몇 가지를 소개할게요!

 

print 함수

print 함수는 여러 개의 값을 화면에 차례대로 출력해주는 함수입니다.

저번 포스팅에서 변수에 값을 할당한 후 그 변수를 입력했을 때

이렇게 값이 출력되는데요

 

a의 값을 출력하려면 print 함수를 이렇게 써도 된답니다!

이 경우 변수 이름 앞에 print함수를 써도 되고 안 써도 되지만

변수에 넣지 않고 여러 개의 값들을 화면에 출력하고 싶을 땐 print함수를 꼭 써야겠죠?

 

예를 봅시다!

(*문자열을 출력하기 위해선 작은 따옴표나 큰 따옴표로 감싸주어야 합니다.)

 

이렇게 숫자, 문자, 그리고 더하기 수식까지 같이 화면에 출력하기 위해서 print함수를 썼습니다!

 

위의 코딩에서 ‘,’는 결과값으로 출력되지 않고 위의 문자열과 숫자, 수식을 구분해주는 역할을 합니다.

그럼 이제 print함수를 이용하여 여러 문장을 출력해봅시다!

이런 문장을 출력하기 위해서 어떻게 코딩해야 할까요?

이렇게 print함수를 사용하면 여러 문장도 출력할 수 있답니다!

 

print 함수가 무엇인지 감이 잡히나요?

 

그렇다면 이 print함수만을 이용해서 (그리고 저번시간에 배운 변수를 활용하여) 온도 변환 프로그램을 만들어봅시다!

온도 변환 프로그램이라고 하니 굉장히 어려울 것 같지만 사실 변수와 print함수만을 이용하여 만들 수 있어요!
화씨에서 섭씨로 변환하고 싶다면 어떻게 코드를 짜면 될까요?

 

먼저 지금 온도(화씨)ftemp라는 변수에다가 저장해봅시다!

그리고 섭씨는 ctemp라는 변수를 만들어 ftemp에서 32.0을 빼고 그 값에다 5.0/9.0한 값을 곱해줍시다. (이것이 화씨에서 섭씨로 변환하는 공식이죠?)

이렇게 섭씨를 설정해줬으면 출력해보죠! 이 일련의 과정을 코드로 어떻게 구현해볼 수 있을까요?

지금 화씨 온도를 90.0도로 설정합시다!

 

print함수를 이용하여 ctemp를 출력했더니 ftemp의 값에서 ctemp가 되기 위한 연산을 거친 후 섭씨로 바뀐 값이 출력되네요!!

처음부터 이해가 안된다면 저번 포스팅의 변수를 시간을 두고 공부합시다!

 

input 함수

이 위 온도 변환 프로그램에서 처음의 화씨 온도를 어떻게 설정해주었나요? ftemp라는 변수를 설정한 후 값을 넣어주었죠? 이미 코드에서 값을 주고 시작했죠?

 

그런데 내가 그 값을 입력하고 싶을 수도 있잖아요!

 

지금의 온도를 입력하세요!’ 라는 말이 뜨고

내가 그 온도를 입력하면

그 온도를 섭씨로 바꿔주는 프로그램을 만들 수는 없는 걸까요?

 

그럴 때 필요한 것이 바로 input 함수입니다.

 

input 함수는 사용자 입력을 받는 함수입니다.

그리고 사용자에게 입력을 요할 때 지금의 온도를 입력하세요!’라는 문자열도 출력할 수 있습니다.

이 문자열을 바로 프롬프트 문자열이라고 합니다.

 

따라서 프롬프트 문자열이 출력되고 사용자의 입력이 변수에 저장되는 두 가지 기능을 모두 가지고 있죠!

 

input함수에서 사용자가 입력하는 값은 default 값이 문자열입니다!

, input함수를 쓰면 사용자가 어떤 문자열을 입력할 것이라고 설정이 되어 있는 것이죠!

간단한 예를 봅시다. 프롬프트 문자열도 넣어볼게요!

이렇게 입력하고 실행시켜보면

이런 프롬프트 문자열이 뜨면서 옆에 커서가 깜박거립니다.

사용자에게 입력 값을 받겠다는 거죠!

이렇게 입력했습니다!

그런데 이렇게 입력하면 끝이잖아요

 

그러니까 변수에 넣어볼게요!

이렇게 하면 사용자가 입력한 값이 name에 들어가겠죠?

한번 실행해봅시다.

이렇게요!!

 

그런데 앞선 온도 변환 프로그램의 첫 값을 사용자 입력을 통해 받으려면

문자열이 아닌 숫자를 입력해야 하잖아요!

하지만 문자열이 default 값으로 설정되어 있는데 어떻게 해야 할까요?

정수를 넣고 싶으면 int

실수를 넣고 싶으면 float

이라는 함수를 넣으면 된답니다.

예시를 함께 봅시다!

이렇게 input함수를 intfloat함수로 감싸주면 된답니다.

실행시켜 볼게요!

 

문자열뿐만 아니라 정수와 실수도 사용자로부터의 입력을 받을 수 있네요!

 

혹여 자료형이 헷갈리시는 분들을 위해

이 표를 넣어둘게요!

그러면 이제 앞서 print() 함수를 사용해보기 위해서 만들었던 온도 변환 프로그램을

input() 함수도 사용하게끔 바꿔볼게요!

실행시켜 보면

내가 입력하는 값에 따라 섭씨로 바뀐 결과가 출력되네요!

 

int(), float()

앞서 사용자에게 입력을 받는 input함수가 default 값이 문자열이어서

정수와 실수를 입력하고 싶을 때 int() 함수와 float()함수를 사용했었죠!

이 두가지 함수에 대해서도 정리하겠습니다.

int()는 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 출력하는 함수입니다.

만약 정수를 입력을 받으면

그냥 그대로 출력합니다.

float()도 마찬가지로 입력 받은 숫자나 문자를 소수점이 있는 숫자 형태로 출력해주겠죠?

str()

정수로 혹은 실수로 변환해서 출력하는 함수 int(), float()를 보고 있자니

문자열 형태로 객체를 변환하여 출력하는 함수가 궁금해지지 않나요?

바로 str() 함수입니다.

abs()

abs() 함수는 어떤 숫자를 입력으로 받았을 때, 그 숫자의 절대 값을 출력하는 함수입니다.

이렇게요!

 

round()

round() 함수는 소수점이 있는 실수를 소수 첫째자리에서 반올림해서 정수 값을 출력해주는 함수입니다.

그런데 조금 이상하네요!

반올림의 결과 값은 입력한 수가 홀수인지 짝수인지에 따라 달라지는데요

 

먼저 홀수를 반올림할 때의 값을 보도록 하죠

우리가 익히 알고 있듯이 소수점 뒤의 숫자가 5이면 반올림을 하네요!


그런데 짝수의 경우 조금 다릅니다.

5를 조금이라도 넘어야 반올림이 되는 것을 알 수 있죠!

 

이렇듯 round는 짝수인 경우 go to the even digit 룰에 의해 정확히 중간은 내림을 해줍니다.

 

pow()

pow(x,y) x y제곱한 결과 갑을 출력하는 함수입니다.

**기호를 사용해도 돼요!

오늘 배울 수 있는 내장 함수는 이렇게 일곱가지로 마무리하겠습니다.

앞으로 포스팅을 차차 하면서 여러 가지 내장 함수들을 추가하도록 할게요!