고래밥 이야기

Python_def 본문

잡다/잡다 그 잡채

Python_def

Whale_Rice 2022. 11. 9. 16:54

다음 글을 참고하였다.

04-1 함수 - 점프 투 파이썬 (wikidocs.net)

 

04-1 함수

[TOC] ## 함수란 무엇인가? 함수를 설명하기 전에 믹서를 생각해 보자. 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다. 우리가 믹…

wikidocs.net

 

- 기본 용어

parameter(매개변수) : 함수에 입력으로 전달된 값을 받는 변수 

arguments(인수) : 함수를 호출할 때 전달하는 입력값

def add(a, b):  # a, b는 매개변수
    return a+b

print(add(3, 4))  # 3, 4는 인수

 

- 매개 변수가 여러 개라면..? *을 사용한다.

def add_many(*args): 
     result = 0 
     for i in args: 
         result = result + i 
     return result

 

- kwargs란..? **을 사용하며, dict 형태로 만들어준다.

def print_kwargs(**kwargs):
     print(kwargs)

print_kwargs(a=1)
>>> {'a': 1}
print_kwargs(name='foo', age=3)
>>> {'age': 3, 'name': 'foo'}

 

- return의 또다른 쓰임새? 특별한 상활일 때 함수를 빠져나갈 수 있게 도와준다.

def say_nick(nick): 
     if nick == "바보": 
         return 
     print("나의 별명은 %s 입니다." % nick)
     
say_nick('야호')
>>> 나의 별명은 야호입니다.
say_nick('바보')
>>> # return으로 함수를 빠져나간 것을 확인할 수 있다.

 

- 매개변수 미리 설정하기

def say_myself(name, old, man=True):  # 매개변수의 초기값을 설정하였다.
    print("나의 이름은 %s 입니다." % name) 
    print("나이는 %d살입니다." % old) 
    if man: 
        print("남자입니다.")
    else: 
        print("여자입니다.")
        
say_myself("박응용", 27)
say_myself("박응용", 27, True) # 두 개 모두 동일한 결과가 나온다.

say_myself("박응선", 27, False) # 다음의 결과는 print("여자입니다.")로 끝나게 된다.

def say_myself(name, man=True, old): 
    print("나의 이름은 %s 입니다." % name) 
    print("나이는 %d살입니다." % old) 
    if man: 
        print("남자입니다.") 
    else: 
        print("여자입니다.")
# 참고로 이러한 def는 오류가 발생한다. 주의해야 할 것은 초기화시키고 싶은 매개 변수를 뒤에 놓는 것이다.

 

-  변수의 효력

함수 안에서 사용하는 매개변수는 함수 밖의 변수 이름과는 전혀 상관이 없다.

a = 1
def vartest(a):
    a = a +1

vartest(a)
print(a) # 해당 결과는 1이 나온다.

 

- lambda 

lambda 매개변수1, 매개변수2, ... : function

add = lambda a, b: a+b
result = add(3, 4)
print(result)
7

 

'잡다 > 잡다 그 잡채' 카테고리의 다른 글

Python_class  (0) 2022.11.09
Python_inner product  (1) 2022.11.09
Python_module  (0) 2022.11.09
Python_The import system  (0) 2022.11.09
python_%timeit  (0) 2022.10.31
Comments