본문 바로가기

코딩/파이썬

사용자 정의 함수

사용자 정의 함수

: 사용자가 특정 작업을 수행하기 위해 직접 작성한 함수를 의미한다.

 

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

'코딩 > 파이썬' 카테고리의 다른 글

콜백함수와 람다함수  (0) 2024.03.19
변수의 범위  (0) 2024.03.19
컬렉션과 반복문  (0) 2024.03.15
제어문 - 반복문  (0) 2024.03.15
제어문 - 조건문  (0) 2024.03.14