함수 (Function) 1

Junho Song·2022년 11월 28일
0

Python

목록 보기
8/11

wikidocs.net을 보며 파이썬 함수에 대해 배워보자. 아래 정리된 글은 점프투 파이썬의 내용을 지금 내 현실에 맞게 요약한 내용이다.

wikidocs는 파이썬에 대해 아무것도 모르는 나같은 초보자에게 적합한 웹사이트니 자주 활용하기로 한다. 점프 투 파이썬이라는 책 내용이 수립되어 있고 초보자를 위한 파이썬 300제에 가면 기초 문제들도 많이 있다.

함수란?
함수는 어떠한 입력값을 입력했을때 그 일을 수행한 다음에 결과값을 뱉어준다.

함수를 사용하는 이유는 여러가지가 있지만 반복되는 코딩이 있을때와 긴 프로그램을 기능별로 나누어 프로그램의 흐름을 일목요연하게 볼 수 있다는 장점 두가지가 가장 크다.


함수의 구조
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>

여기서 def는 예약어라고 한다.

예제)

def add(a, b):  # a, b는 매개변수
    return a+b

print(add(3, 4))  # 3, 4는 인수

위에 add()라는 함수를 만들었다. 이 함수는 a와 b 값을 받아서 그 둘의 합을 리턴해주는 함수이다.

사용법은 여러가지가 있겠지만 대표적으로는 아래와 같이 정리한다.

  • 리턴값을 받을 변수 = 함수이름(입력인수1,입력인수2,..)

여기서 매개변수와 인수라는 개념이 등장하는데 아래와 같이 정리한다.

  • 매개변수 - 함수에 전달된 값을 저장하는 변수
  • 인수 - 함수에 전달하는 값

값이 여러개인 함수를 작성하는 경우

def 함수이름(*매개변수):
	<수행할 문장>
    ....

예제)


#part1

def add_many(*args): 
     result = 0 
     for i in args: 
         result = result + i 
     return result 

#part2

>>> result = add_many(1,2,3)
>>> print(result)
6
>>> result = add_many(1,2,3,4,5,6,7,8,9,10)
>>> print(result)
55

part1는 함수를 지정한 것이고 part2는 해당 함수를 인수와 함께 사용한 예이다.

위의 예제 처럼 *args 형식으로 매개변수 앞에 *을 붙이면 입력값을 전부 모아 튜플로 만들어 준다.

part2 처럼 add_many(1,2,3)을 입력했을때 *args가 (1,2,3)을 모두 지정받고 함수가 작동한다.


함수와 키워드 매개변수 그리고 딕셔너리

예제)
part1

def print_kwargs(**kwargs):
	print(kwargs)

part2

>>> print_kwargs(a=1)
{'a': 1}
>>> print_kwargs(name='foo', age=3)
{'age': 3, 'name': 'foo'}

위와같이 **kwargs 처럼 매개변수명 앞에 **를 붙이면 keyword arguments, 즉 키워드 매개변수를 지정할 수 있다.

part2를 보면 알 수 있듯이 키워드 매개변수를 사용한 함수는 = 기호를 기준으로 좌측값은 key 값으로 우측값은 value값으로 저장하여 딕셔너리를 만든다.

출처: https://wikidocs.net/24

profile
상위 1%의 금융데이터 분석가를 꿈꿉니다.

0개의 댓글