나의 지식 보관소
함수 본문
함수 정의
파이썬에서의 함수는 다음과 같이 선언한다. 이때 def는 함수 호출을 위한 예약어이다.
def add(a, b):
return a + b
print(add(1, 3))
print(add(a=2, b=4)) # 이 처럼 매개변수를 지정할수도 있다.
반환형식에대한 명시가 없다는것이 특징이고 반환형식이 있든 없든 상관없다.
가변 인자 함수
def add(*args):
result = 0
for i in args:
result = result + i
return result
print(add(1,2,3,4))
print(add(1,2,3,4,5,6,7,8,9))
위 코드처럼 인자가 몇개 입력될지 모르는 함수를 만들때에는 매개변수 앞에 *을 붙여주면 된다. 그럼 받은 값들을 모두 모아서 튜프로 만들어준다. args말고 다른 매개변수를 더 추가 하고 싶다면 add(a, *args)처럼 *이 붙은 매개변수보다 앞에 선언해주어야한다.
키워드 파라미터 / Dictionary를 인자로 받기
키워드 파라미터를 사용할때에는 매개변수 앞에 **를 붙인다.
def printDictionary(**a):
print(a)
printDictionary(a=1, b=3)
반환 값이 여러개 일때
파이썬에서 return 10, 11 처럼 한개이상의 결과값을 주면 리턴에 (10,11)이라는 튜플값 하나를 반환한다.
매개변수에 초깃값 설정하기
def introduceMySelf(name, old, man=True):
print("나의 이름은 %s입니다."%name)
print("나이는 %d살입니다."%old)
if man:
print("남자입니다.")
else:
print("여자입니다.")
introduceMySelf("성호", 19)
introduceMySelf("성호", 19, True)
man=True 처럼 매개변수에 미리 값을 할당해두면, 인자를 안념겼을때 자동으로 True가 할당된다. 즉 introduceMySelf("성호", 19) 와introduceMySelf("성호", 19, True)는 같은 의미이다.
주의할점은 초기값을 설정한 매개변수는 다른 일반적인 변수의 뒤에와야한다.