본문 바로가기
프로그래밍_기타 언어

파이썬(python) 함수

by 떠도리c 2024. 9. 22.
반응형

파이썬(python) 함수

반복적인 코드를 함수로 작성하여 코드 작성을 간결하고, 효율적으로 만들 수 있습니다.

함수를 사용하면 코드 가독성,  오류 찾기, 흐름 파악하기에 좋습니다.

기본 구조

def는 함수를 만들 때 사용하는 예약어 (함수 선언)

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

 


  • # 함수 기본 구조
    def sum(a, b): # sum이라는 함수명과 a,b 매개변수 선언
            return a+b  # return(결과값)은 a와 b의 합
    
    print(sum(1, 2)) # sum함수에 a=1, b=2 값을 입력
    
    # 실행 결과
    3
    

 

여려 개의 입력값을 받는 함수

입력값이 여러 개인 경우 사용

매개변수 앞에 * 별 기호 한개를 사용하여 선언

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

 


  • def many(*args):
            result = 0
            for i in args:
                    result = result + i
            return result
    
    # *args 매개변수에 (1,2,3) 값이 들어가면 입력값을 튜플로 만들고, 
    # 수행문에 따라 입력값을 모두 더하게 된다. 
    # 결과적으로 many 함수의 수행 결과는 6이 나오게 된다.
    

 

키워드 매개변수 - kwargs

표현은 매개변수 앞에 ** 별 기호 두 개를 사용하여 선언합니다.

키워드 매개변수 kwargs는 딕셔너리 형태(key:value)로 저장되는 것을 말합니다.

kwargs는 keyword arguments 의 약자


  • # kwargs 함수 선언, 매개변수는 키워드 형태
    def kwargs(**kwargs):
            print(kwargs)
    
    # kwargs 함수 호출
    kwargs(abc=123)
    
    # 실행 결과 (딕셔너리 형태로 출력)
    {'abd':123}
    

 

여러값 리턴하기

def add_mul(a,b):
        return a+b,a*b

res = add_mul(2,3)

 

위와 같이 호출한다면 res 변수에는 (a+b,a*b)하나의 튜플값이 리턴된다.

즉, res = (5, 6)의 결과를 가지게 된다.

이 결과를 나누고 싶다면 다음과 같이 함수를 호출 하면된다.

res1, res2 = add_mul(2, 3)

이렇게 호출하게되면 res1는 5 를, res2는 6의 결과를 나눠 가지게 된다.

 

람다(lambda) 형식

함수 예약어 def와 동일하게 역할을 하고, 일반적으로 간단하게 표현 할 때 주로 사용한다.

add = lambda a, b: a+b
res = add(2, 3)
print(res)

# 결과
5

 

 

반응형

'프로그래밍_기타 언어' 카테고리의 다른 글

파이썬(python) while문  (0) 2024.09.22
파이썬(python) if문  (0) 2024.09.22
파이썬(python) for문  (0) 2024.09.22
파이썬(python) 모듈 사용  (0) 2024.09.22
파이썬(python) 파일 읽고 쓰기  (0) 2024.09.22