본문 바로가기
초보 코딩 배우기

파이썬 함수

by into 2021. 4. 19.
반응형

지금까지는 파이썬에 미리 정의되었던 함수들을 사용하는 방법에 대해서 알아봤었는데 오늘은 사용자가 직접 필요한 함수를 정의해서 사용하는 방법을 알아보려고 합니다.

 

파이썬에서 함수의 역할은 일종의 블랙박스에 어떤 입력을 넣어주면 블랙박스 안에 미리 정의된 함수를 실행하여 출력해주는 것입니다. 아마도 다른 언어로 코딩을 해보셨던 분들께서는 금방 이해하실 거라고 생각됩니다.

함수 사용의 장점

  • 함수는 정의를 하면 반복해서 사용할 있습니다.
  • 코드를 간략하게 만들어 주므로 코드에 대한 이해를 쉽게 해 줍니다.  
  • 코드에 문제가 생겼을 수정하기가 쉽습니다.

함수 정의

  1. 함수를 정의하기 위해서 def 사용
  2. 함수 이름 정의
  3. 함수 이름 다음에 () 안은 입력 값입니다.
  4. 마지막에 콜론 (:)을 반드시 사용해야 합니다.
  5. 함수를 정의한 다음 줄에 들여 쓰기를 해야 합니다.
  6. ‘’’ docstring으로 함수에 대한 설명으로 일종의 string입니다. help 함수를 사용하면 docstring 내용을   있습니다.
  7. 함수 로직 (실제 실행 부분)
  8. return  출력 (마지막에 꼭 return을 사용하지 않아도 됩니다.)

함수 예

def add_2(num):

   '''

   return 2 more than num

   ‘’’

   result = num + 2

   return result

help를 사용하면 위에서 설명한 docstring을 확인할 수 있습니다.

 

함수의 실행은 함수에 파라미터를 입력해주면 됩니다.

함수에 숫자를 입력하면 2를 더해주는 함수입니다. add_2 함수에 2를 입력하면 4를 출력합니다.

 

함수와 코딩에서 사용되는 변수 형태

변수는 global, local, built-in으로 형태로 나눌 수 있습니다.

  • global: 코드 전체에서 정의된 변수
  • local: 함수 내에서 정의된 변수
  • built-in: 파이썬 자체에서 정의된 변수

다음 예에서 글로벌 변수 x는 5를 정의하고, var_demo 함수 내의 로컬 변수 y에는 2를 정의해 보겠습니다.

var_demo 함수는 글로벌, 로컬 변수를 출력하는 함수입니다.

x = 5  # Global

def var_demo():

   y =2  # Local to var_demo

   print("Local: {}".format(y))

   print("Global: {}".format(x))

   print("Built-in: {}".format(dir))

var_demo 함수를 실행하면 로컬, 글로벌 변수를 출력합니다.

 

var_demo 함수를 실행한 후 글로벌 변수와 로컬 변수를 확인해 보겠습니다.

글로벌 변수인 x는 여전히 출력이 되지만, 로컬 변수인 y는 실행 이후 지워지므로 에러가 납니다.

 

함수에서 여러 개의 파라미터 사용

함수에서 여러 개의 파라미터를 입력할 있습니다.

다음은 두 개의 파라미터를 입력하여 더해주는 함수입니다.

def add_two_nums(a, b):

 return a+b

 

파라미터가 두 개의 정수이면 정수를 합한 값을 출력합니다.

add_two_nums(3,5)

파라미터가 두 개의 실수이면 실수를 합한 값을 출력합니다.

add_two_nums(1.0,4.0)

파라미터가 두 개의 string이면

add_two_nums(‘3’,’5’)

 

파이썬에서 함수를 정의할 사용되는 일반적인 규칙

  • 소문자 사용
  • 문자 사이에는 _ 사용
  • 숫자를 문자로 사용할 없음
  • 파이썬 built-in함수와 중복되지 않아야

오늘은 파이썬에서 함수를 정의하는 방법과 관련된 내용들을 알아봤습니다.

 

 

 

 

반응형

'초보 코딩 배우기' 카테고리의 다른 글

파이썬 모듈  (4) 2021.05.18
파이썬 while loop  (6) 2021.05.10
파이썬 파일 입출력  (10) 2021.05.03
파이썬 인덱싱과 슬라이싱  (11) 2021.04.26
파이썬 dictionary  (14) 2021.04.11
파이썬 for loop  (6) 2021.04.04
파이썬 set  (8) 2021.03.28
파이썬 튜플(Tuple)  (14) 2021.03.22

댓글