728x90
Chapter 7. 함수
1. 함수
⦁ 같은 로직을 하나의 포장지에 넣어 계속 사용할 수 있게 만들어 놓은 것을 함수라고 함
⦁ 입력값에 따라 결과값이 바뀔 수 있음
⦁ 함수 선언은 def를 사용
a. function define
# function define
def function_name():
print ('myfunction')
# function 실행
function_name()
2. 매개변수
⦁ 매개변수에 default값을 주면 함수에 매개변수를 적지 않아도 실행됨
⦁ keyword를 반드시 사용하도록 강제할 수 있음
⦁ * 오른쪽은 keyword argument로 사용
⦁ keyword argument는 순서가 상관없음
⦁ / 왼쪽은 positional argument로 사용
⦁ 매개변수로 함수 사용 가능
a. function argument
# function argument
def myfn1():
print('myfn1')
def myfn2(arg1):
print(arg1)
# default값을 주면 함수에 매개변수를 적지 않아도 실행됨
def myfn3(arg1='a', arg2='b'):
print(arg1, arg2)
# 키워드를 반드시 사용하도록 강제할 수 있음
def myfn4(*arg1):
for i in arg1:
print(i)
# *오른쪽은 keyword argument로 사용
def myfn5(arg1, *, arg2, arg3):
print(arg1, arg2, arg3)
# /왼쪽을 positional argument로 사용
def myfn6(arg1, /, arg2, arg3):
print(arg1, arg2, arg3)
# 매개변수로 함수 사용
def myfn7(arg1, arg2):
print(arg1)
arg2('abc','def')
# 매개변수 적용
myfn2('abc')
myfn2([1,2,3,4])
# keyword argument
# 순서 상관없음
myfn3(arg2=10, arg1=20)
myfn3(10, 20)
myfn4(1,2,3,4)
myfn5(arg1 = 'a',arg2 = 'b',arg3 = 'c')
myfn6('a','b','c')
myfn6(arg1 = 'a',arg2 = 'b',arg3 = 'c')
myfn7('fn7 start', myfn3)
3. 리턴
⦁ return을 사용하여 값을 반환
⦁ 두 개의 값을 반환 시 tuple로 반환됨
a. function return
# function return
def myfn8():
print('myfn8')
def myfn9():
return 10
# tuple로 반환됨
def myfn10():
return 10, 20
4. Example
a. prime
#소수 구분 함수 생성
def is_prime(n):
for i in range(2,n):
if n % i == 0:
return False
return True
prime_list = []
for n in range(2,100):
if is_prime(n) == True:
prime_list.append(n)
print(prime_list)