function 함수는 매개변수와 인자로 이루어진 것으로, 여러 프로그램에 걸쳐서 사용할 수 있어 효율적이다.
혼동하기 쉬운 매개변수와 인자의 구분은 아래와 같은데, 예시를 통해서 자세히 살펴보자
매개변수(파라미터) ; 함수 정의에 쓰인 것
인자 (인수) ; 함수 실행시 들어간 값
먼저 파라미터의 예시는 다음과 같다
def print_name(name): #함수 선언, name은 파라미터
print(f'이름은 {name}입니다')
# "김**", "김멋사" 는 인자(인수)이다.
print_name("김**")
print_name("김멋사")
>>> 이름은 김**입니다
>>> 이름은 김멋사입니다
다음으로 인자의 예시는 다음과 같다
def print_ex_string():
print('예시 문자열 입니다. ')
print_ex_string() # 만든 함수 콜
>>> 예시 문자열입니다.
그 외에도 여러개의 인자를 넣을 수 있는데, 예시는 아래와 같다.
def print_name_age(name, age): #함수 선언, name은 파라미터
print(f'이름은 {name}이고, 나이는 {age}살 입니다')
print_name_age("김멋사", "33")
# print_name_age() # 인자가 없으면 오류난다.
>>> 이름은 김지민이고, 나이는 33살입니다.
함수를 응용한 또다른 예시를 살펴보자.
기본값을 함수에 내장시켜두면, 출력시 인자가 없을 때 이를 불러온다.
인자가 있다면, 작성된 인자를 우선한다.
만약 인자의 변수명에 대입을 한다면, 인자의 구성 순서가 바뀌어도 괜찮다.
def order_coffee(qty, option='hot'):
print(f'{qty}잔 / {option}')
order_coffee(3, 'iced') # 다른 겂
order_coffee(3) # 기본 값 출력
order_coffee(option='iced', qty=5) # 각각 선언을 한다면 순서 바꿔도 괜찮다.
>>> 3잔 / iced
>>> 3잔 / hot
>>> 5잔 / iced
함수 안에 if 문을 넣어 구성할 수 있다.
그리고 return 문을 주어 선언하고자 하는 데이터를 정해주어야 한다.
def get_id(email):
if email.endswith('@test.com'):
email_id = email.removesuffix('@test.com')
print(email_id)
return email_id # 반한하고자 하는 데이터를 정해주어야 함
else:
print('처리할 수 없는 이메일 주소입니다.')
user_id = get_id('user@duksung.com')
print(user_id)
user_id = get_id('user@test.com')
print(user_id)
>>> 처리할 수 없는 이메일 주소입니다.
>>> None
>>> user
>>> user
만든 함수를 다른 파일에 작성해도, 여러 파일에서 해당 함수를 불러와 사용할 수 있다.
파일 두 개가 있다 가정해보자.
첫 번째 파일은 id_getter.py이며, 여기에서 사용할 함수를 정의한다.
두 번째 파일은 ex01.py이며, 여기에서 함수를 불러와 사용한다.
# id_getter.py
def get_id(email):
if email.endswith('@test.com'):
email_id = email.removesuffix('@test.com')
print(email_id)
return email_id # 반한하고자 하는 데이터를 정해주어야 함
else:
print('처리할 수 없는 이메일 주소입니다.')
만든 함수를 사용할 ex01.py 파일은 아래와 같으며, 실행하면 다음과 같은 결과가 나온다.
# ex01.py
from id_getter import get_id
user_id = get_id('user@test.com')
print(user_id)
>>> user
>>> user
더 다양한 강의노트 및 강좌 후기 👉🏻 https://blog.naver.com/jimin201396