T-SUM 멘토링

[T-SUM] 4주차 자료 - 변수와 함수, 매개변수와 인수

LooanCheong 2023. 6. 22. 16:33
반응형

오늘의 내용 미리보기

본문

변수(Variable)

이전 시간 내용을 잠깐 떠올려 봅시다.

이런 식으로 출력을 했는데,
만약 이걸 여러 번 출력하려면?

이렇게..?

물론 이렇게 하는 방법도 있겠지만 조금 더 간결하게 표현해 봅시다.

이렇게

이렇게 바꾸면 조금 더 편하게 출력이 가능하겠죠?

여기서 사용한 a를 우리는 변수라고 합니다.
언제든지 그 값을 변경할 수 있어요.

다른 예시도 볼까요.

이렇게 숫자를 지정해서 각 변수를 더하는 방법도 사용이 가능해요.
물론 a와 b의 값을 바꾸면 결괏값도 변화합니다.

그러면 다른 재밌는 예시도 하나 봅시다.

a가 2개

다음과 같이 코드가 존재할 때,
c의 값은 어떻게 될까요?
바로 7이 됩니다.

이전 시간에 잠시 언급을 했었는데 파이썬은 코드를 위에서 아래로 읽는 방법을 사용합니다.
1번 라인에서 a는 2라는 값을 할당받았지만 3번 라인에서 다시 a에 4라는 값을 할당했으므로 이런 결과가 나오게 됩니다.

변수에 대해서 대충 알아봤으니 변수의 이름을 짓는 방법도 알아봅시다.

우선 변수에는 보통 아무거나 다 쓸 수 있어요.
위에서 보았듯 알파벳도 가능하고, 한글도 됩니다.
문자는 다 됩니다.

신기하죠

숫자도 사용이 가능합니다.
단, 문자가 먼저 나왔을 때!

이런 식으로 숫자만 나오면 안 되고
문자 뒤에 숫자가 붙어야 사용이 가능합니다.

변수의 이름에 또 다른 중요한 사항이 있는데
바로 공백이 있으면 안 됩니다.

파이썬에서는 띄어쓰기가 필요한 변수에 주로 '_'를 사용하게 됩니다.

자 여기까지 변수에 대해서 알아봤습니다.

함수(Function)

이번에는 함수를 배워봅시다.

우리가 지금까지 사용했던 함수가 하나 있습니다.
바로 print()인데 이는 파이썬의 내장 함수입니다.
우리가 따로 만들지 않았어도 파이썬이 기본적으로 제공하는 함수예요.

내장 함수가 있으면 내장 함수가 아닌 것도 있겠죠?
사용자 지정 함수를 만들어 봅시다.

def를 써주고 한 칸 띄고 함수의 이름을 만들어줍시다.
def는 define의 약자로 정의한다는 뜻을 내포합니다.
그리고 괄호를 열고 닫을 거예요.
마지막으로 콜론(:)을 붙이고 엔터를 쳐줍시다.

이렇게 하면 우리는 say_hello라는 함수를 정의하겠다고 컴퓨터에게 알려줬습니다.
이제 함수에 print("Hello!")를 입력하고 say_hello()를 작동시켜 봅시다.

간단하게 인사를 하는 함수를 만들었습니다.
생각보다 별 거 없죠?

이렇게 함수를 만들면 say_hello()를 통해 print("Hello!")라는 번거로운 과정을 줄일 수 있습니다.
한 번 생성한 함수는 얼마든지 사용이 가능해요.

그런데 함수를 만들면서 이상한 점 없었나요?
콜론을 붙이고 엔터를 치니까 자동으로 들여 쓰기가 됩니다.

파이썬은 들여 쓰기로 영역(scope) 지정하며 이는 매우 중요한 강제사항입니다.
함수를 만드는 지금과 같은 상황의 경우 def의 영역이 여기부터라고 알려주는 것입니다.
자동으로 들여 쓰기가 되는 경우도 있지만 수동으로 필요하면 1/2/4칸 스페이스, 혹은 탭을 사용합니다.
동일한 영역의 함수는 동일한 들여 쓰기 칸 수를 이용해야 합니다.
주로 탭을 많이 사용하니까 탭으로 알아두면 좋습니다.

매개변수(Parameter)와 인수/인자(Argument)

우리가 함수를 사용하면서 입력값이 필요 없는 경우도 있지만
print를 사용할 때, 내용을 입력했던 것처럼 변수가 필요한 경우도 있습니다.

함수를 만들 때도 마찬가지예요.
이 변수를 미리 지정해 줄 수 있습니다.

아까 만들었던 say_hello 함수를 살짝 바꿔봅시다.

a라는 매개변수를 지정해 주고 그 매개변수가 들어갈 자리를 만들어줬습니다.
그리고 함수를 실행할 때, hi라는 인자를 입력해서 실행했습니다.

이 둘의 차이부터 알아봅시다.
매개변수는 함수에 입력으로 전달된 값을 받는 변수입니다.
인자(인수)는 함수를 호출할 때 전달하는 입력값을 의미합니다.

혼동해서 사용하기 쉬운 용어니까 잘 알아두고 넘어갑시다.

매개변수는 여러 개를 사용할 수 있습니다.

매개변수가 늘어난 만큼 함수를 호출할 때 주어지는 인자도 늘어나야 합니다.(매개변수의 수 = 인자의 수)
또한 인자의 순서가 결괏값에 영향을 미칩니다.(순서가 중요합니다)

그럼 사용자의 이름을 입력받아서 인사하는 함수를 하나 만들어봅시다.

그런데 여기에 만약 인자를 안 넣고 실행했다고 가정하면 어떻게 될까요?
오류가 나겠죠.

이러한 상황을 방지하기 위해 default 값을 지정해 주는 방법이 있습니다.

이런 식으로 하게 되면 인자를 받지 않았을 때,
오류가 나는 대신 디폴트로 선언한 값을 인자로 생각하고 실행해 줍니다.

함수를 만들다 보면 이렇게 실행만 시키면 되는 경우가 있지만 실행한 값을 받아와야 하는 경우도 있습니다.
예시를 들어봅시다.

세금을 계산해 주는 계산기를 만들고,
그 값을 출력해 준다고 가정하면 계산기에서 계산된 값을 가져올 방법이 있어야겠죠?

이를 'return'을 이용해서 합니다.
return을 사용하게 되면 해당 함수에서 계산된 값을 외부에서 사용이 가능합니다.

예시를 보면서 이해해 봅시다.

이런 식으로 위의 계산기에서 받은 값을 사용할 수 있습니다.

마지막으로 복습하기

이번 시간에는 변수, 함수, 매개변수와 인수에 대해 배웠습니다.

1. 변수는 무엇인지?
2. 변수의 이름을 짓는 방법
3. 함수는 무엇인지?
4. 함수를 만드는 방법
5. 매개변수와 인수의 차이
6. 디폴트 매개변수
7. 리턴

다음시간에 만나요!

숙제

계산기 만들기.

더하기, 빼기, 나누기, 곱하기, 제곱 등의 기능이 있는 계산기를 만들어봅시다.

반응형