파이썬 (Python) _ 여름 학기 2주 차
안녕하세요! 이번 시간은 '함수'를 주제로 함수란 무엇인지 살펴보고 어떻게 활용할 수 있는지 살펴보겠습니다.
코딩을 하다보면 같은 일을 반복해서 작성해야 하는 경우가 종종 있습니다. 이때, 매번 같은 코드를 작성하는 것은 비효율적인 방식으로, 이럴 때 '함수'를 만들어 놓고 필요할 때마다 호출하여 사용하게 되면 프로그램 작성의 효율도 올릴 수 있습니다.
이렇듯, 함수란 자주 쓰는 명령어 묶음에 이름을 붙여, 필요할 때마다 불러서 사용하는 것을 말합니다.
![[마곡 코딩] 파이썬 6월 10일 수요일 19시 수업_함수 1차시 사진 1](/blog/224312101040/001.png)
이는 블록 코딩 시절 '마이 블록'에 해당 하는 개념으로, 함수도 마찬가지로 '정의하기' 부분과 '호출하기' 부분으로 나누어져 있습니다.
우선 '정의하기' 부분부터 살펴보겠습니다.
def 함수이름(): 실행할 코드
가장 간단한 형태의 함수 정의 구조입니다. def는 define(정의하자)의 줄임말로, 함수 이름 앞에 붙여야 합니다. def 뒤에는 함수 이름을 작성한 후 괄호( )를 붙입니다. 괄호 뒤에는 콜론을 붙여 들여쓰기를 할 수 있게 한 후, 실행할 코드를 작성해주면 됩니다.
def hi(): # 함수명: hi 매개변수: 없음 리턴 값: 없음 print("hello")
hi() # 콘솔에 hello 출력
위 예시는 'hello'를 출력하는 hi 함수입니다. 해당 함수는 아래에서 살펴볼 매개변수와 return 값이 포함되지 않은 형태의 함수입니다.
def hello(n): # 함수명: hello 매개변수: n 리턴 값: 없음 for i in range(n) : print('Hello!') hello(5)
다음으로 살펴볼 유형은 '매개변수(파라미터)'는 있지만 '리턴 값'이 없는 함수입니다. 매개변수란 함수가 사용할 입력 값으로, 위 예시에서는 n이라는 매개변수가 있습니다.
함수 호출 부분을 살펴보면 인자로 정수 5가 입력되는 것을 볼 수 있습니다. 이렇게 n값에 5가 입력되어
![[마곡 코딩] 파이썬 6월 10일 수요일 19시 수업_함수 1차시 사진 2](/blog/224312101040/002.png)
5번의 'Hello!'가 출력되는 것을 볼 수 있었습니다.
def multiply(a, b): # 함수명: multiply 매개변수: a,b 리턴 값: c c = a * b return c print(multiply(5, 7)) # multiply 함수를 호출 후, print한다.
다음은 '매개변수'와 '리턴 값'이 모두 있는 함수의 형태입니다. multiply 함수에 2개의 매개변수가 들어 있으며 c값을 return(반환)하는 것을 살펴볼 수 있습니다.
함수 호출 부분을 살펴보면 print(multiply(5,7))로 이루어져 있습니다. 이는 multiply(a,b) 함수에서 a에 정수 5가 입력 되고, b에 정수 7이 입력 된 것으로 c의 값은 5*7의 연산 결과 값인 35가 저장됩니다. 이후에는 c 값을 return, 즉 35 값을 반환하게 됩니다.
따라서 print(multiply(5,7))은 print(35)이 되기 때문에 콘솔에 35를 출력하게 됩니다.
![[마곡 코딩] 파이썬 6월 10일 수요일 19시 수업_함수 1차시 사진 3](/blog/224312101040/003.png)
이러한 함수의 다양한 형태를 한 줄 한 줄 디버깅을 진행하며 살펴본 후, 미션을 통해 직접 함수를 구현해보는 시간을 가졌습니다.
다음 시간은 '함수' 2차시 수업으로, 구구단을 포함한 다양한 종류의 함수를 직접 만들어보며 함수의 필요성과 더불어 활용 방식에 대해 살펴보는 시간을 가져보겠습니다.
![[마곡 코딩] 파이썬 6월 10일 수요일 19시 수업_함수 1차시 사진 4](/blog/224312101040/004.png)
마지막으로 위 프로그램을 응용하여 사용자의 입력값에 따라 출력이 이루어지는 코드도 작성해보았습니다!
def color_to_fruit(color): if color == "red": return "apple" elif color == "green": return "melon" elif color == "blue": return "blueberry" else: return "i don't know"
text = input()
result = color_to_fruit(text) print(result)
![[마곡 코딩] 파이썬 6월 10일 수요일 19시 수업_함수 1차시 사진 5](/blog/224312101040/005.jpg)
#마곡역코딩학원 #신방화역코딩학원 #유아코딩 #공항초 #공진초 #코드페어 #송화초 #초딩코딩 #AI #대회 #마곡나루맛집 #신방화역학원 #코딩학원 #소프트웨어 #대회준비 #VR #올림피아드 #엔트리 #신방화역맛집 #신방화역카페 #라온lc #laonlc #엔트리 #coding #파이썬 #스크래치