[Python] 파이썬

[Python] 파이썬 내장 함수 - 사용자 함수

ITsubin 2022. 9. 5. 20:09

내장함수

> 파이썬 인터프리터(Python interpreter)에는 항상 사용할 수 있는 많은 함수가 내장되어 있음.

> 이를 "내장함수"라고 하고, 외부 모듈에서 불러오는 것이 아니기 때문에 import가 필요하지 않음.


사용자 함수

> 사용자 함수란 사용자가 직접 만든 함수

> 내장 함수는 이미 만들어져 있어 사용법대로 사용하면 되지만, 모든 일을 내장 함수를 이용하여 처리할 수 없음.

 

사용자 함수를 구현하기 위한 용어 및 설명

  • 함수 정의(define)       :  사용자 함수를 새로 만드는 것
  • 인수(argument)          :  사용자 함수에 전달할 입력
  • 매개변수(parameter)  :  인수를 받아서 저장하는 변수
  • 반환값(return)             :  사용자 함수의 출력
  • 함수 호출(call)            :  만들어진 사용자 함수를 실제로 사용

기본 함수 정의는 아래와 같음.

def [함수 이름](매개변수)
	본문
	return 반환값

 

함수 호출은 다음의 4가지 경우 존재

> 인수 : X , 반환값 : X

    >> 함수 이름()

> 인수 : O , 반환값 : X

    >> 함수 이름(인수)

> 인수 : X , 반환값 : O

    >> 변수 = 함수 이름()

> 인수 : O , 반환값 : O

    >> 변수 = 함수 이름(인수)

 

인수가 있는 함수

(함수에 전달되는 값이 존재하는 경우)

def introduce(name, age):
	print(f'이름:{name}, 나이:{age}')
    
introduce('james', 25)

argument의 순서와 parameter의 순서가 다를 시 parameter의 이름을 직접 명시

introduce(age=25, name='james')

 

디폴트 매개 변수

(매개변수로 전달되는 인수가 없는 경우에 기본적으로 사용할 수 있도록 매개변수에 기본값 설정 가능)

def introduce(name, age=25):
	print(f'이름:{name}, 나이:{age}')
    
introduce('james', 25)

 

가변 매개변수

(함수로 전달해야 하는 인수의 개수가 정해지지 않아도 매개변수 선언 가능. 이는 " 가변 매개변수 ")

(가변 매개변수를 만드는 키워드는 애스터리스크(*)이며, 개수에 따른 차이가 존재)

 

인자를 튜플로 전달 ↓

def show(*args):
	for item in args:
		print(item)

show('happy', 'birthday')

 

인자를 딕셔너리로 전달 ↓

def show(**kwargs):
	for key, item in args:
		print(key, item)
        
show(a=1, b=2)

 

반환값이 있는 함수

(함수 내에서 return을 통해 값을 반환할 경우)

def address():
	str = '우편번호 12345\n'
	str += '서울시 영등포구 여의도동'

	return str
    
a = address()
print(a)

 

다중 반환 함수

def calculator(*args):
	return sum(args), sum(args)/len(args), max(args), min(args)
   
calculator(1, 2, 3, 4, 5)

 

함수 종료를 위한 return

(return은 함수를 끝마치는 용도로도 사용 가능)

def check(num):
	if num == 1:
		return 
	if num == 2:
		return
  
	print('success')
    
check(2)
check(3)