일련의 코드블록을 그룹화하여 특정 동작을 수행하는데 사용되는 구문으로
특정 기능을 재사용하기 위해서 사용한다.
1. 내장함수
print('Hello python!')
str = input()
num = int(str)
listVal = [1,4,9,10]
totalList = sum(listVal) # 24
maxList = max(listVal) #10
minList = min(listVal) #1
powVal = pow(2,3) #거듭제곱 함수 > 8
roundVal = round(3.145, 2) #반올림 함수 > 3.15
2. 사용자 함수
def
키워드를 사용하여 함수를 선언할 수 있음매개변수
를 가질 수 있고, 실행 후 결과값(return)
을 반환할 수 있음#선언부
def cal(a, b): #매개변수: a, b
return a + b
num1 = 3
num2 = 5
#호출부
num3 = cal(num1, num2)
#인수: num1, num2 > 매개변수 a, b에 각각 할당됨
#매개변수와 인수의 갯수는 일치해야 함
print(f'num1 + num2 = {num3}')
매개변수의 개수가 정해지지 않은 경우
매개변수 앞에*
을 이용 > 변수가tuple
형으로 할당됨def printNum(*numbers): for i in numbers: print(i,end='') print('') printNum(10) #10 printNum(10, 20) #1020 printNum(10, 20, 30) #102030
return
키워드를 이용하면 함수 실행결과를 호출부로 반환할 수 있음return
을 만나면 실행 종료def divNum(n1, n2):
if n % 2 == 0:
return '짝수'
else:
return '홀수'
return result
print('실행 안 됨') #해당 구문 실행 안됨
print(divNum(5))
수정할 수 없음
num_out = 10
def printNumbers():
num_out = 20
print(num_out)
printNumbers() #20이 출력됨
print(num_out) #10이 출력됨
def printNumbers():
num_in = 20
print(num_in)
print(num_in) # 실행시 not defined 오류 발생
global 키워드
global
을 사용하면 함수 안에서도 전역변수의 값 수정 가능num_out = 10 def printNumbers(): global num_out num_out = 20 print(num_out) printNumbers() #20이 출력됨 print(num_out) #20이 출력됨
def out_function():
print('out function called!')
def in_function():
print('in function called!')
in_function()
out_function()
in_function() #not defined 오류 발생!!
lambda
키워드를 사용해서 함수 선언을 간단하게 할 수 있다.1)
def
키워드 사용def calculator(n1, n2): return n1 + n2 print(calculator(10, 20) #출력값: 20
2)
lambda
키워드 사용def calculator = lamda n1, n2: n1 + n2 #lamda 매개변수 : return 값 print(calculator(10, 20)) #출력값: 20