함수를 정의하기위해서는 def 키워드를 사용하여 함수이름과 괄호 뒤에 함수를 정의한다.
def 함수명():
지역변수
코드블록
return (변수 또는 표현식)
def 함수명(매개변수1, 매개변수2, ...):
지역변수
코드블록
return (변수 또는 표현식)
함수는 호출할때 실행된다. (스스로 실행되지 않음)
함수는 정의/호출을 구분 할 수 있어야 한다.
#함수명()
add()
#함수명(인자1, 인자2, ...)
add(20)
add(10.56)
item("test")
매개변수가 없는 경우
def add():
x = 10
y = 20
c = x + y
print(c)
add()
#출력 : 30
매개변수가 있는 경우
def add(y):
x = 10
c = x + y
print(c)
add(20)
#출력 : 30
return문을 사용해 함수의 값을 반환할 수 있다. 하나 이상의 변수/값을 반환받을 수 있다.
#return (변수 or 표현식)
return 50
return (50)
return (x + y)
return (y)
return (2, 4)
return (x, y)
def add(y)
x = 10
c = x + y
return c
sum = add(20)
print(sum)
함수를 정의할때 매개변수 기본값을 지정할 수 있다. 호출 시 값을 전달하지 않으면 기본값이 사용된다.
def greet(name, msg="안녕하세요!"):
print(name, msg)
greet("철수"")
#출력 : 철수 안녕하세요!
greet("영희", "반갑습니다!")
#출력 : 영희 반갑습니다!
가변 매개변수로 함수에 여러 개의 인자를 전달할 수 있다. 이를 사용하려면 *를 붙인다
def sum(*numbers):
result = 0
for number in numbers:
result += number
return result
total = sum(10, 20, 30, 40)
#출력 : 100
print(total)
함수를 호출할 때 인자 이름과 함께 값을 전달할 수 있고, 순서 상관없이 사용할 수 있는 장점이 있다
def greet(name, msg):
print(name, msg)
greet(name="철수", msg="안녕하세요!")
#출력 : 철수 안녕하세요!
greet(msg="반갑습니다!", name="영희")
#출력 : 영희 반갑습니다!
함수에 여러 개의 키워드 인자를 전달할 수 있다. 매개변수앞에 **를 붙인다.
def display_info(**kwargs):
for key, value in kwargs.items () :
print(f" {key}: (value]")
display_info(name="철수", age=25, city="서울")