본문으로 건너뛰기
실습하기

키워드 매개변수와 변수의 영역

함수는 매개변수 설정 방법과 변수가 어디에서 정의되었는지에 따라 프로그램의 동작이 크게 달라질 수 있습니다.

이번 수업에서는 키워드 매개변수변수의 영역에 대해 알아보겠습니다.


매개변수의 이름으로 호출하는 키워드 매개변수

함수에 인자를 전달할 때, 인자를 순서를 기억하지 못할 때가 있습니다.

이러한 경우에 사용할 수 있는 것이 키워드 매개변수입니다.

함수 호출 시 키워드 매개변수를 사용하면, 인수의 이름을 명시적으로 지정해 함수에 전달할 수 있습니다.


키워드 매개변수 사용 예시
def greet(name, age):
print(f"안녕하세요, {name}님! 당신은 {age}살입니다.")

# 키워드 매개변수로 함수 호출
greet(name="홍길동", age=30)

# 순서를 바꿔서 함수 호출 가능
greet(age=25, name="이몽룡")

위 코드에서 greet 함수는 nameage 두 개의 매개변수를 받습니다.

함수를 호출할 때 name="홍길동", age=30과 같이 매개변수의 이름을 지정하여 전달하면, 매개변수의 순서를 기억하지 않아도 됩니다.

이와 같이 함수를 활용하면 함수의 매개변수 순서를 기억하지 않아도 되므로, 코드의 가독성을 높일 수 있습니다.


함수 안에서만 존재하는 지역변수

함수 내부에서 정의된 변수는 지역변수라고 불립니다. 지역 변수는 함수의 실행이 끝나면 사라집니다.

이 지역변수는 함수 외부에서는 접근할 수 없으며, 다른 함수에서 같은 이름의 변수를 정의하더라도 서로 영향을 미치지 않습니다.

지역변수 사용 예시
# 정사각형의 넓이를 계산하는 함수
def calculate_square_area(side):
# side 변수를 제곱하여 넓이를 계산
area = side ** 2
# 넓이 반환
return area

# 한 변의 길이가 5인 정사각형의 넓이 계산
result = calculate_square_area(5)

# 25 출력
print(result)

# 함수 내부에서 정의된 변수는 함수 외부에서 접근할 수 없음
# print(area)
# NameError: name 'area' is not defined

위 코드에서 area 변수는 calculate_square_area 함수 내에서만 유효하며, 함수 외부에서는 존재하지 않습니다.


함수 밖에서도 살아남는 변수: 전역변수

반대로, 함수 외부에서 정의된 변수는 전역변수라고 불리며, 모든 함수에서 접근 가능합니다.

하지만 함수 내부에서 전역변수를 변경하려면 global 키워드를 사용해야 합니다.

전역변수 사용 예시
count = 0  # 전역변수

def increment():
# 전역변수 count를 함수 내에서 사용
global count
count += 1 # 전역변수 count를 증가시킴

increment()
print(count) # 1 출력

increment()
print(count) # 2 출력

global 키워드를 사용하면, 함수 내에서도 전역변수를 수정할 수 있게 됩니다.

그러나 전역변수의 남용은 코드의 가독성을 떨어뜨리고 디버깅을 어렵게 만들 수 있으므로, 꼭 필요한 경우에만 사용하는 것이 좋습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!