Python 기본문법 - 함수(function)

Leezi·2022년 10월 29일
0

python

목록 보기
8/9

함수

하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로, 하나의 단위를 말한다.

def 함수명(매개변수):
    <수행할 문장1>
    <수행할 문장2>
    ...
def hello():
	print("안녕!")
    print("또 만나요!")

hello()# 안녕! 또 만나요!def bus_rate(age):
    if age > 65:
        print("무료로 이용하세요")
    elif age > 20:
        print("성인입니다.")
    else:
        print("청소년입니다")

bus_rate(27)# 성인입니다.
bus_rate(10)# 청소년입니다.
bus_rate(72)# 무료로 이용하세요.

💡 함수를 사용하는 이유

반복적인 프로그래밍을 피할 수 있기 때문이다. 프로그램에서 특정 작업을 여러 번 반복해야 할 때는 해당 작업을 수행하는 함수를 작성하면 프로그램이 필요할 때마다 작성한 함수를 호출하면 해당 작업을 반복해서 수행할 수 있습니다.
프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성이 좋아지고, 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수를 할 수 있습니다.



매개변수와 인수

매개변수(parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수(arguments)는 함수를 호출할 때 전달하는 입력값을 의미한다.

def add(a, b):  # a, b는 매개변수
    return a+b

print(add(3, 4))  # 3, 4는 인수

매개변수 지정하여 호출하기

함수를 호출할 때 매개변수를 지정할 수도 있다. 순서에 상관없이 사용할 수 있다는 장점이 있다.

def cal(a, b):
    return a + 2 * b

print(cal(a=3, b=5))
print(cal(b=5, a=3))

매개변수 디폴트 값 설정

매개변수에 미리 값을 넣어 초깃값을 미리 설정해 줄 수 있다.  함수의 매개변수에 들어갈 값이 항상 변하는 것이 아닐 경우에는 이렇게 함수의 초깃값을 미리 설정해 두면 유용하다.

def cal2(a, b=3):
    return a + 2 * b

print(cal2(4))
print(cal2(4, 2))
print(cal2(a=6))
print(cal2(a=1, b=7))

여러 개의 입력값을 받는 함수 만들기

args처럼 매개변수 이름 앞에 *을 붙이면 입력값을 전부 모아서 튜플로 만들어 여러개의 인수를 하나의 매개변수로 받을 수 있다.

# 여러 개의 인수를 하나의 매개변수로 받을 때 관례적으로 args라는 이름을 사용. arguments라는 뜻!
def call_names(*args):
    for name in args:
        print(f'{name}야 밥먹어라~')

call_names('철수','영수','희재')

키워드 파라미터 kwargs

키워드 파라미터를 사용할 때는 매개변수 앞에 별 두 개(**)를 붙인다. 매개변수 kwargs는 딕셔너리가 되고 모든 key=value 형태의 결괏값이 그 딕셔너리에 저장된다.

def get_kwargs(**kwargs):
    print(kwargs)

get_kwargs(name='bob') # {'name':"bob"}
get_kwargs(name='john', age='27') # {'name':"john", "age":27}

0개의 댓글