사용자 정의 함수
: 사용자가 특정 작업을 수행하기 위해 직접 작성한 함수를 의미한다.
def 함수명(매개변수1, 매개변수2, ...) :
함수가 실행될 때 실행할 코드
return 결과값
- 매개변수와 반환값이 없는 함수
def func1():
print('처음으로 만드는 함수!')
func1()
func1()
func1()
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
for i in range(5):
func1
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
- 매개변수가 있고 반환 값이 없는 함수
def func2(num): # 확장성이 있음
print(f'입력받은 숫자: {num}')
func2(100)
func2(4)
입력받은 숫자 : 100
입력받은 숫자 : 4
def func3(start, end):
sum = 0
for i in range(start, end+1):
sum += i
print(f'{start}부터 {end}까지의 합 :{sum}')
func3(1, 10)
func3(1, 100)
1부터 10까지의 합 : 55
1부터 100까지의 합 : 5050
- 반환값이 있는 함수
def func4():
print('안녕하세요 파이썬!')
func4()
# temp = func4()
temp = func4
print(f'temp에 저장된 값:{temp}')
안녕하세요 파이썬!
temp에 저장된 값: <function func4 at 0x789cd8ca55a0>
temp()
안녕하세요 파이썬!
def func5():
return '🎀'
temp = func5()
print(f'temp에 저장된 값:{temp}')
temp에 저장된 값 : 🎀
def func6(num1, num2):
sum = num1 + num2
return sum
print(func6(10, 5))
temp = func6(10, 5)
print(temp)
# temp = func6(16)
# print(num1, num2)
15
15
def func10():
pass
- 기본값이 설정된 매개변수
def func6(num1, num2):
sum = num1 + num2
return sum
print(func6(10, 3))
# print(func6(10))
13
def func6(num1 = 1, num2 = 1):
sum = num1 + num2
return sum
print(func6())
print(func6(10))
print(func6(10, 3))
print(func6(num2=10))
2
11
13
11
- 가변 매개변수
: 함수를 호출할때 *를 사용하면 시퀀스(리스트, 튜플 등)의 요소를 개별적인 위치 인자로 풀어서 전달할 수 있다.
def func7(*args):
print(args)
result = 0
return result
print(func7())
print(func7(10, 30))
print(func7(10, 30, 70, 90, 100))
()
0
(10, 30)
0
(10, 30, 70, 90, 100)
0
- 키워드 매개변수
def func8(id, name, age):
print(f'아이디:{id}')
print(f'이름:{name}')
print(f'나이:{age}')
func('apple', '김사과', 20)
아이디 : apple
이름 : 김사과
나이 : 20
func8(age=30, id='banana', name='반하나')
아이디 : banana
이름 : 반하나
나이 : 30
dic1 = {'age': 25, 'id': 'melon', 'name':'이메론'}
func8(**dic1) #매개변수의 이름에 맞춰 값을 전달
아이디 : melon
이름 : 이메론
나이 : 25
func8(*dic1) # 매개변수 순서에 따라 키를 전달
아이디 : age
이름 : id
나이 : name
- 여러개의 반환값
def func10(num1, num2):
return num1 + num2
result = func(10, 3)
print(result1)
13
def func10(num1, num2):
return num1 + num2, num1 - num2, num1 * num2, num1 / num2
result 1, result2, result3, result4 = func10(10,3)
print(f'덧셈:{result1}, 뺄셈:{result2}, 곱셈: {result3}, 나눗셈:{result4}')
덧셈 : 13, 뺄셈 : 7, 곱셈 : 30, 나눗셈 : 3.3333333333333335
_, _, result3, _ = func10(10, 3) # _ 써서 필요없는 변수 사용하지 않음
print(f'곱셈:{result3}')
곱셈 : 30