1 life 2 live

파이썬 기초 프로그래밍(8-1) - 함수(선언, 인자) [20.7.26] 본문

파이썬

파이썬 기초 프로그래밍(8-1) - 함수(선언, 인자) [20.7.26]

대희투 2020. 7. 26. 17:25

1. 함수의 필요성

■ 덧셈을 하는 프로그램을 작성해야 한다.

   º 첫 번째 입력은 숫자 2 개가 들어온단다.

   º 두 번째 입력에서는 숫자 3 개가 들어온단다.

   º 세 번째 입력에서는 숫자 4 개가 들어온단다.

 

■ 세 번의 덧셈이 필요하겠구나!

   º 숫자 2개를 입력받고 더하고,

   º 숫자 3개를 입력받고 더하고,

   º 숫자 4개를 입력받고 더하면 되겠구나!

 

■ 이런 식으로 하면 되나?

 

■ 조금 더 간단하게 작성해볼까?

 

■ 중복된 패턴, 더 효율적으로 작성 할 방법은 없을까?

 

■ 함수(function)

   º 일을 수행하는 코드의 덩어리에 이름을 붙인 것

   º 입력을 받아서 출력을 내보내는 박스로 생각할 수 있다!

 

■ 함수의 형태

 

■ 함수가 적용된 예제

 

■ 중복되는 코드는 딱 한번만!

■ 동일/유사 기능이 필요하다면 해당 함수를 호출하자!

 

 

 

 

 

 

 

2. 함수의 선언

■ 이름

   º 함수의 이름. 이 이름을 통하여 해당 함수를 호출 할 수 있음.

   º 소문자로 명명. 길어질 경우 밑줄(‘_’)로 분리

 

■ 입력

   º 인자, 인수, 아규먼트, 파라미터 등으로 불리며 함수의 재료가 됨

   º 입력이 없을 수도 있음

 

■ 수행내용

   º 함수가 작업하게 되는 내용을 구현한 것

 

■ 결과

   º 함수가 반환하는 최종 결과 값

   º 결과가 없을 수도 있음

 

■ 함수 사용 예제

   º 함수 이름: sum

   º 함수 인자: 두 개가 입력이 필요하며, a와 b라는 이름으로 활용

   º 함수 내용: 인자 a와 b를 더하여 result 변수에  할당한 후 반환

   º 함수 결과: result에 저장되어 있는 값이 반환 됨

 

 

 

 

 

 

 

3. 실습

■ 실습1) 문자와 숫자 N을 입력으로 주면 해당 문자가 N 개 포함되어 있는 리스트를 반환하는 make_list() 함수를 작성해보자

 ↓정답

더보기

def make_list(msg, count):
new_list=[]
for i in range(count):
new_list.append(msg)
return new_list


a = make_list('A',10)
print(a)

 

■ 실습2) 길이가 10인 리스트 2개를 입력하면 아래와 같이 출력하는 함수를 작성해 보자

 ↓정답

더보기

def make_list(msg, count):
new_list=[]
for i in range(count):
new_list.append(msg)
return new_list

def join_list(fst, snd):
for i in range(10):
print(fst[i],snd[i], end=" ")

a = make_list('A',10)
b = make_list('B',10)
join_list(a,b)

 

4. 함수의 형태

■ 입력과 결과가 있는 일반적인 함수

   º return: 결과를 ‘반환’하기 위한 키워드

 

■ 일반 함수의 예)

 

■ 함수 사용/호출법: 결과값을 받을 변수 = 함수명(입력1, 입력2, ...)

   º 예) sum_result = sum(2, 3)

 

■ 입력이 없는 함수

 

■ 입력이 없는 함수의 예)

 

■ 함수 사용/호출법: 결과값을 받을 변수 = 함수명()

   º 예) result = hi()

 

■ 결과가 없는 함수

 

■ 결과가 없는 함수의 예)

 

■ 함수 사용/호출법: 함수명(입력1, 입력2, ...)

   º 예) sum(3,5)

   º 결과 값을 받기 위해 변수에 할당하면 어떻게 될까?

-> 결과 출력이 아무것도 안나옴

 

■ 입력도 결과도 없는 함수

 

■ 입력도 결과도 없는 함수의 예)

 

■함수 사용/호출법: 함수명()

   º 예) code()

 

 

 

 

 

 

 

5. 함수의 인자

■ 함수 선언 시 입력받을 데이터의 갯수, 이름등을 설정

   º 입력되는 인자의 갯수는 2개

   º sum() 함수에서 a와 b라는 변수를 통하여 사용 가능

   º 입력인자의 의미를 명확히 알 수 있게 명명

 

6. 함수의 가변 인자

■ 2개의 숫자를 입력받아 더하기 위한 함수를 작성해보자

 

■ 3개의 숫자를 입력받아 더하기 위한 함수를 작성해보자

 

■ N개의 숫자를 입력받아 더하기 위한 함수를 작성해보자

   º 인자 이름 앞에 *를 붙여준다!

   º 가변길이 변수를 통하여 튜플의 형태로 제공 됨

 

■ 어떻게 활용하는가?

   º 일반 함수 호출과 동일!

 

7. 실습

■ 실습) 문자열의 약어를 추출하기 위한 함수를 작성해보자.

   º 함수 호출

   º 함수 동작 예) → LOL

 ↓정답

더보기

def ext_abbr(*args):
for i in args:
print(i.capitalize()[0], end='')
print()

ext_abbr('League','of','Legend')

728x90
반응형
Comments