고래밥 이야기
Python_def 본문
다음 글을 참고하였다.
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