키워드 매개변수와 변수의 영역
함수는 매개변수 설정 방법과 변수가 어디에서 정의되었는지에 따라 프로그램의 동작이 크게 달라질 수 있습니다.
이번 수업에서는 키워드 매개변수와 변수의 영역에 대해 알아보겠습니다.
매개변수의 이름으로 호출하는 키워드 매개변수
함수에 인자를 전달할 때, 인자를 순서를 기억하지 못할 때가 있습니다.
이러한 경우에 사용할 수 있는 것이 키워드 매개변수
입니다.
함수 호출 시 키워드 매개변수를 사용하면, 인수의 이름을 명시적으로 지정해 함수에 전달할 수 있습니다.
def greet(name, age): print(f"안녕하세요, {name}님! 당신은 {age}살입니다.") # 키워드 매개변수로 함수 호출 greet(name="홍길동", age=30) # 순서를 바꿔서 함수 호출 가능 greet(age=25, name="이몽룡")
위 코드에서 greet
함수는 name
과 age
두 개의 매개변수를 받습니다.
함수를 호출할 때 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
키워드를 사용하면, 함수 내에서도 전역변수를 수정할 수 있게 됩니다.
그러나 전역변수의 남용은 코드의 가독성을 떨어뜨리고 디버깅을 어렵게 만들 수 있으므로, 꼭 필요한 경우에만 사용하는 것이 좋습니다.
키워드 매개변수를 사용할 때는 인자의 순서를 바꿔도 상관없다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과