1. 함수란?
- 입력값을 가지고 어떤 일을 수행한 다음에 그 결과물을 내어놓는 것
2. 함수를 사용하는 이유는?
- 반복되는 부분이 있을 경우 똑같은 내용을 반복해서 작성하는 것을 피하기 위해 사용한다.
3. 파이썬 함수의 구조
- def는 함수를 만들 때 사용하는 예약어
def 함수명(매개변수) :
실행문장
return 결과값
- 매개변수(parameter) VS 인수(arguments)
- 매개변수 : 이 함수에 입력으로 전달되는 값을 받는 변수
- 인수 : 함수를 호출할 때 전달하는 입력값
def add(a, b): # a, b는 매개변수
return a + b
num = add(3, 4) # 3, 4는 인수
print(num) # 결과 7
4. 입력값이 없는 함수
def say() :
return 'Hi'
a = say()
print(a) # Hi
5. 결괏값이 없는 함수
def add(a, b) :
print("a + b = %d" % a+b) # 3 + 4 = 7
a = add(3, 4)
print(a) # None
6. 입력값도 결괏값도 없는 함수
def say() :
print('Hi')
say() # Hi
7. 매개변수 지정하여 호출하기
def add(a, b) :
return a+b
result = add(a=3, b=7) # a에 3, b에 7
print(result) # 10
8. 여러 개의 입력값을 받는 함수
def add_many(*parameter) : # *을 쓰면 입력값을 전부 모아서 튜플로 만들어 준다.
result = 0
for i in parameter :
result = result + i
return result
result = add_many(1,2,3)
print(result) # 6
result = add_many(1,2,3,4,5,6,7,8,9,10)
print(result) # 55
9. 키워드 파라미터 **
def print_a(**a):
print(a) # 딕셔너리로 만들어서 출력
print_a(a=1) # {'a': 1}
print_a(name='boo', age=2) # {'age': 2, 'name': 'boo'}
10. 함수의 결괏값은 언제나 하나
def add_mul(a,b) :
return a+b, a*b
# return a, b # 주석풀어도 실행되지 않음
result = add_mul(3,4) # (7, 12)
result1, result2 = add_mul(3,4) # result1 = 7, result2 = 12
11. 매개변수에 초깃값 미리 설정
def say(name, old, man=True) : # 초기화시키고 싶은 매개변수를 항상 뒤쪽에 놓는다.
print("이름 %s" % name)
print("나이 %d " % old)
if man :
print("남자")
else :
print("여자")
say("홍길동", 22) # say("홍길동", 22, True)와 같은 결과
say("홍길동", 22, False)
12. 함수 안에서 함수 밖의 변수를 변경하는 방법
# 1번째
a = 1
def range_a(a) :
a = a + 1
return a
a = range_a(a)
print(a) # 2
# 2번째
a = 1
def range_a(a) :
global a # 함수 안에서 함수 밖의 a 변수를 직접 사용하겠다.
a = a + 1
range_a()
print(a) # 2
13. lambda
- lambda는 def와 동일한 역할을 하는 예약어로 보통 함수를 한 줄로 간결하게 만들 때 사용한다.
add = lambda a, b : a + b
'''
def add(a, b) :
return a + b
'''
result = add(3, 4)
print(result) # 7
'강의 > 파이썬' 카테고리의 다른 글
20201104 점프투파이썬 예외 처리 (0) | 2020.11.04 |
---|