본문 바로가기
프로그래밍/파이썬기초

파이썬 함수 만드는 방법

by 조크리 2023. 10. 12.
반응형

 

함수는 반복적으로 사용되는 코드의 집합입니다.

함수를 사용할 때의 장점이 많기에 

코드가 길어질 수록 함수의 사용 빈도가 높아지는데요.

이번 글에서는 파이썬에서 함수를 만드는 방법과 다양한 예제를 살펴보겠습니다. 

 

 
 


목차

     

     

    1. 함수란 무엇인가? 왜 사용하는가?

     

    함수는 

    '하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합'을 의미합니다. 

     

    다음은 앱 인벤터에서 만든 함수인데요.

    '퀴즈출제'라는 이름을 가진 함수를 하나 만들었습니다.

    이 함수는 퀴즈의 번호를 작성하고, 문제를 가져오는 함수입니다.

     

    이렇게 함수를 하나 만들어두면 여기저기서 함수를 호출하여 사용할 수 있습니다.

    시작 버튼을 클릭했을 때 함수를 호출하면 퀴즈가 나오게 되고요. 

    다음 버튼을 클릭했을 때도 함수가 호출하여 다음 퀴즈가 나오도록 합니다. 

     

    일단 함수를 하나 만들어두면

    함수가 필요한 상황에서 함수를 불러오는 코드만 작성해주면 되는 것이죠. 

     

    함수는 이처럼 반복적인 프로그래밍을 피하게 해주는 장점이 있습니다.

    또 모듈화를 시키기 때문에 전체 코드의 가독성을 높여주는 장점도 있죠.

    마지막으로 프로그램에 문제가 발생하거나 기능을 변경해야 할때는 함수의 내용만 수정해주면 됩니다.

    만약 함수를 사용하지 않고 같은 내용을 반복해서 코드를 썼다면,

    변경할 내용이 있을 때 반복한 코드 모두를 변경해야 합니다. 

     

    이러한 이유로 함수는 코드에서 매우 유용하게 사용됩니다. 

     

    2. 함수 만드는 방법

     

    그럼 파이썬에서 함수를 만들어 보겠습니다. 

    함수를 만들 때에는 우선 define(정의)의 약자인 def를 써줍니다. 

    그리고 def 옆에 함수 이름을 적어주고 콜론을 붙입니다. 

     

    만약 func1이라는 이름을 가진 함수를 만든다고 해보겠습니다. 

    그럼 def func1(): 이렇게 작성해주면 됩니다.

    이 괄호 안에는 파라미터 값이 들어가게 되는데요. 매개변수라는 뜻이 있습니다.

    func1함수는 a와 b라는 파라미터를 갖고 있습니다.

    이제 함수 내용을 살펴보겠습니다.

    x는 a와b의 합이고, y는 a와 b의 차 입니다. 

    그리고 x와 y를 곱해준 값을 출력합니다.

     

    여기까지가 함수의 내용입니다. 

    함수 정의의 끝을 알려면 들여쓰기가 어디서 끝나는 지를 보면 됩니다.

    이 함수는 print가 있는 줄에서 들여쓰기가 끝나네요. 

     

    그리고 함수를 호출해줍니다.

    함수를 호출할 때에는 함수의 이름을 적어주면 됩니다.

    func1(3, 5) 이런식으로 써주면 되는 것이죠. 

    여기서 3과 5는 각각 a와 b가 됩니다. 

    def func1(a, b):
       x = a + b
       y = a - b
       print(x * y)
    
    func1(1,2)

     

    3. 함수의 매개변수(parameter)란?

     

    매개변수에 대해 몇 가지 예제를 더 살펴보겠습니다.

    매개변수는 함수에 넘겨 주는 값입니다. 

     

    예를 들어 hello(name)라는 함수를 만들어보겠습니다.

    hello(name)이라는 함수는

    Hello 'name'을 출력해주는 함수입니다.

     

    만약 함수를 호출할 때 hello('유재석') 이렇게 호출하면

    Hello 유재석

    이렇게 출력을 해주겠죠. 

     

    그럼 아래 코드의 결과는 어떨까요?

    def hello(name):
      print("Hello %s"%(name))
    
    hello('홍길동')

    이렇게 hello 홍길동이 나옵니다. 

    함수를 호출할 때 원하는 이름을 매개변수에 써주면 Hello라는 문구 뒤에 내가 쓴 매개변수가 나오게 되죠. 

     

    한 가지 예를 더 보겠습니다.

    이번에는 hello(name, age) 라는 함수입니다.

    hello('박명수', 10) 이라고 호출하면

    박명수님의 나이는 10살입니다.

    라고 출력해줍니다. 

     

    아래의 코드를 실행시켜보겠습니다. 

    def hello(name, age):
      print("%s님의 나이는 %d살 입니다."%(name, age))
    
    hello('홍길동', 10)

    결과적으로

    홍길동님의 나이는 10살입니다. 라고 출력이 되었습니다.

    만약 함수 호출시 매개변수에 '정준하', 12 라고 썼다면 

    정준하님의 나이는 12살 입니다. 라고 출력이 되었겠죠!

     

    이번 글에서는 

    파이썬에서 함수를 만드는 방법과 매개변수의 개념에 대해 살펴보았습니다.

    다음 글에서는 다양한 예제를 통해

    함수가 사용되는 방법을 살펴보겠습니다. 

    반응형