- 변수 x, y에 대해 x값이 정해지면 그에 따라 y값이 결정되는 것
- 반복적으로 사용되는 가치 있는 부분을 묶어서 하나의 집합으로 만듦
- 코드를 재활용하기 위한 목적
[함수 작성] def 함수명() : 함수가 호출되면 실행할 문장 ...
[함수 호출] 함수명()
def func1() :
print('처음으로 만드는 함수 :)')
func1()
[결과]
처음으로 만드는 함수 :)
for i in range(5) :
func1()
[결과]
처음으로 만드는 함수 :)
처음으로 만드는 함수 :)
처음으로 만드는 함수 :)
처음으로 만드는 함수 :)
처음으로 만드는 함수 :)
[함수 작성] def 함수명(변수1, 변수2, ...) : 함수가 호출되면 실행할 문장 ...
[함수 호출] 함수명(값1, 값2, ...)
def func2(num) :
print('입력받은 숫자 : %d' % num)
func2(10)
func2(20)
[결과]
입력받은 숫자 : 10
입력받은 숫자 : 20
# func3(1, 10) -> 1부터 10까지의 합 : 55
# func3(1, 100) -> 1부터 100까지의 합 : 550
def func3(start, end) :
sum = 0
for i in range(start, end+1, 1) :
sum += i
print('%d부터 %d까지의 합 : %d' % (start, end, sum))
func3(1, 10)
func3(1, 100)
func3(5, 100)
[결과]
1부터 10까지의 합 : 55
1부터 100까지의 합 : 5050
5부터 100까지의 합 : 5040
[함수 작성] def 함수명(변수1, 변수2, ...) : 함수가 호출되면 실행할 문장 ... return값
[함수 호출] 변수 = 함수명(값1, 값2, ...)
def func4() :
return '★'
start = func4()
print(start)
[결과]
★
def func5(num1, num2) :
return num1 + num2
print(func5(10, 5))
[결과] 15
result = func5(10, 5)
print(result)
[결과] 15
[함수 작성] def 함수명(변수1=값, 변수2=값2, ...) : 함수가 호출되면 실행할 문장 ... return값
[함수 호출] 변수 = 함수명() 변수 = 함수명(값1, 값2, ...)
def func6(num1, num2) :
return num1 * num2
print(func6(10, 30))
[결과] 300
# print(func6(10))
# TypeError: func6() missing 1 required positional argument: 'num2'
# print(func6())
# TypeError: func6() missing 2 required positional arguments: 'num1' and 'num2'
def func6(num1 = 1, num2 = 2) :
return num1 + num2
print(func6(10, 3))
print(func6(10))
print(func6())
[결과]
13
12
3
[함수 작성] def 함수명(*변수) : 함수가 호출되면 실행할 문장 ... return값
[함수 호출] 변수 = 함수명(값1) 변수 = 함수명(값1, 값2, ...)
📌 매개변수는 함수 안에서 튜플 형태로 사용
def func7(*args) :
print(args)
result = 0
for i in args :
result += i
return result
print(func7(10))
print(func7(10, 20, 30, 40, 50, 70))
[결과]
(10,)
10
(10, 20, 30, 40, 50, 70)
220
[함수 작성] def 함수명(**변수) : 함수가 호출되면 실행할 문장 ... return값
[함수 호출] 변수 = 함수명(변수1=값1, 변수2=값2, ...)
def func8(**args) :
return args
user = func8(userid = 'admin', name = '김자바', age = 20)
print(user)
[결과]
{'userid': 'admin', 'name': '김자바', 'age': 20}
[함수 작성] def 함수명(변수1, 변수2, ...) : 함수가 호출되면 실행할 문장 ... return 값1, 값2, ...
[함수 호출]
>
변수1, 변수2, ... = 함수명(값1, 값2, ...)
def func9(num1, num2) :
return num1 + num2, num1 - num2, num1 * num2, num1/num2
result1, result2, result3, result4 = func9(10, 3)
print(result1, result2, result3, result4)
[결과]
13 7 30 3.3333333333333335
- 특정값 하나만 알고 싶을 땐?
_,_,result1,_ = func9(10, 3)
print(result1)
[결과] 30
데이터 90, 80, 50, 100, 70을 매개변수로 전달해서 최대값, 최소값을 출력하는 함수를 만들어보자.
(단, return을 사용, 내장함수를 사용하지 않고 최대값/최소값을 한번에 return하는 함수를 만들어보자)
def func10(*data) :
max = data[0]
min = data[0]
for i in data :
if i > max :
max = i
if i < min :
min = i
return max, min
max, min = func10(90, 80, 50, 100, 70)
print('최대값 : ', max)
print('최소값 : ', min)
[결과]
최대값 : 100
최소값 : 50