나 개발자 진짜 되냐?

4일차 파이썬 프로그래밍 입력과출력_함수편2 본문

파이썬을 시작했어요!

4일차 파이썬 프로그래밍 입력과출력_함수편2

Snow Rabbit 2022. 12. 15. 19:51

함수가 길어서 2편을 준비했슴메..

가볼까유

 

 

키워드 매개변수,  kwargs

키워드 매개변수라고 하며 이 친구는

k를 보면 예상하듯 딕셔너리로 변환시켜주는 친구이다.

 

예시를 봅시다아

 

def a_kwargs(**kwargs) :

    print(kwargs)

 

a_kwargs(a=1)      →      { 'a' : 1 }

a_kwargs(name='cha', birth= 208)

      →      { 'name' = 'cha', 'birth' = 208 }

 

 

함수의 리턴 값은 언제나 하나!!!!!!!!!!!!!!!!!!!!!!!

def add_and_mul(a, b):

    return a+b, a*b

 

result = add_and_mul(2,8)

 

어?! 리턴은 값이 두 개인데

두개 값을 어떻게 한 변숫값 안에 넣지? 싶을 것이다.

 

하지만 가능하다!

리턴 자체를 하나로 치기 때문에

하나의 변수 안에 여러 개의 값이 들어갈 수 있다는 것이다. 

 

결과는 어떻게 나올까?!

 

 resutl = ( 10 , 19 )가 나오게 된다.

즉 튜플 값으로 나오게 되는 것이다.

만약에 값을 따로따로 받고 싶다면? 변수를 두 개 만들어 주면 된다.

 

result1, result2 = add_and_mul( 2, 8 )

 

매개변수 초깃값 미리 설정하기

매개변수의 초깃값을 미리 설정할 수 있다고 한다.

 

def myself(name, age, man = True):

 

이렇게 초기값을 미리 결정할 수 있다고 한다.

이렇게 정해놓으면

나중에 함수를 쓸 때

myself(cha, 99)라고만 적어도 된다.

 

하지만 이런 초기값을 미리 적어 주는 방법은

함수 맨 뒤에 적어주는 것이 좋다

중간에 적게 되면 차례대로 넣는 파이썬 문법에 의해

어디에 넣을지 고민하게 되면서 오류가 발한다. 

 

제일 중요한 lambda를 알아보자!

 

lambda 

함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 한다.

 

함수를 간결하게 만들 때 사용한다.

람다라고 읽고 여기서 b는 묵음이란다

 

킼킼.. 램드다 키킼킼ㅋ

 

사용법

    함수명 = lambda 매개변수 1 매개변수 2 : 매개변수를 이용한 표현식

 

 

예를 들어보자

 

add = lambda a, b : a+b

result = add(2 ,8)

print(result)       →      10

 

이 된다는 것이다.

lambda 변수 1, 변수 2 : 식

 

 

def add(a, b) :

    return a+b

 

result = add(2,8)

print (result)      →      10

 

 

밑의 함수 식과 동일하다

차이점을 생각하며 한번 더 읽어보자!

 

 


추가로....

리턴을 써서 빠져나오는 방법이 있다고 한다.

한번 읽어보도록 하자!!

 

if문 안에 return을 넣는다는 것을 잊지 말자...

아 이런 게 왜 있는 거야... 짜증 나아아ㅏ아아아악