Programming Language/Python

[Python Programming 기초] # 함수의 이해 및 사용 1 : def

Lucian_Cho 2020. 11. 18. 00:30

# 함수의 이해 및 사용

 1. def : 함수 정의

  ex) def add(x, y):     # x, y 각각을 인자(parameter)라고 한다.

            n = x + y

            return n

 

  - 기본 인자 : parameter의 기본값 지정 가능

   ex) def add(x, y, z=5):

             a = x + y +z

             return a

        add(10, 20)

        => 35

   cf) 기본 파라미터는 뒤의 파라미터부터 정의되어야 함

       def test(a, b=3, c):

            print(a, b, c)

       test(10, 20, 1)

       => Error

 

  - return : 함수의 "종료" 명시 (함수 내에서 return 뒤에 명시된 코드는 수행되지 않음!)

               값이 있으면 그 값을 반환

               'return만 존재' 혹은 'return이 없는 경우', None 반환

                                          → 함수로직이 전부 끝났을 때

 

  - multiple return

   : tuple 반환으로 여러 개 값 return 가능

   ex) def add_mul(x, y):

             s = x + y

             m = x * y

             return s, m

 

        a = add_mul(20, 3)

        print(a)

        => (23, 60)

 

  - 변수의 범위

   지역변수(local) : 특정 코드 블록에서 선언된 변수(함수 내 변수는 자신이 속한 코드블록이 종료되면 소멸됨)

   전역변수(global) : 가장 상단에 정의되어 프로그램 종료 전까지 유지되는 변수

    ex) num1 = 10

         num2 = 30

 

         def test(num1, num2):

              print(num1, num2)

              return num1 + num2

 

         test(30, 40)

         print(num1, num2)

         => 30 40

              10 30

 

  - 가변길이 인자 : 전달되는 파라미터(parameter)의 개수가 고정적이지 않은 경우 사용 → print(), format()이 대표적

   (1) *args : 튜플 형태로 파라미터를 전달

   (2) **kwargs : 딕셔너리 형태로 파라미터를 전달

   

   ex) def test(*args):

             for item in args:

             print(item)

 

        test(10, 30, 40, 50)

        => 10

             30

             40

             50

   ex) def test2(**kwargs):

             for key, value in kwargs.items():

                 print('key :', key, ', value :', value)

        test2(a=1, b=2)

        => key : a, value : 1

             key : b, value : 2

 

 

본 포스팅은 Fast Campus 머신러닝과 데이터 분석 A-Z 강의를

듣고 정리한 내용을 담고 있습니다.