함수란?
파이썬의 함수는 수학의 함수와 동일
def addFun(x,y):
return x + y
print(addFun(3,4))
함수는 def 로 시작, return 으로 반환
def 로 정의한 함수를 print로 출력 / 결과는 3+4 =7 로 나옴
함수는 파이썬 기본제공인 내장 함수 / 사용자가 직접 선언하는 사용자 함수
함수는 특정기능을 재사용 하기 위해 사용!
함수 선언과 호출
함수 선언 구조
def / 함수명 / : / 엔터 후 실행부 들여쓰기
함수명으로 호출
def addCal():
n1 = int(input('n1 입력 : '))
n2 = int(input('n2 입력 : '))
print(f'n1 + n2 = {n1 + n2}')
addCal()
함수 내에서 다른 함수 호출하기
def fun1():
print('fun1 호출!')
fun2()
def fun2():
print('fun2 호출!')
fun3()
def fun3():
print('fun3 호출!')
fun1()
fun1 호출 출력 후 fun2()를 호출, fun2()안에 fun3()이 같이 있으므로
fun1 호출!
fun2 호출!
fun3 호출!
이런 결과값이 나온다.
함수도 pass로 실행문 생략 가능
인수와 매개변수
함수 호출 시 함수에 데이터 전달 가능
def greet(customer):
print(f'{customer} 고객님 안녕하세요.')
greet('홍길동')
홍길동이라는 인수가 customer 라는 매개변수에 들어옴
인수와 매개변수 개수는 일치해야한다. 안맞으면 에러
매개변수 갯수가 정해지지 않은 경우 * 를 사용
실습
데이터 반환
return 키워드 이용, 함수 호출부로 실행결과를 반환
def cal(n1,n2):
result = n1 + n2
return result
print(cal(10,20))
returnValue = cal(10,20)
print(returnValue)
함수가 return 을 만나면 실행종료
def divideNumber(n):
if n%2 == 0:
return '짝수'
else:
return '홀수'
returnValue = divideNumber()
print(f'returnValue : {returnValue}')
return 이후에 나오는 print는 return 으로 인해 출력되지 않음
return 을 print로 바꾸면 마지막 리턴밸류도 출력 됨
return을 사용해서 result를 반환, 즉 cm*10함수를 갖고와서 length에서 사용자가 입력한 숫자를 넣어준다.
rNum이 홀수이면 break로 while문 빠져나와서 return으로 반환 /짝수면 계속 while문에서 돈다.