python
기본값, 키워드, 가변 인자로 가변 개수 인자를 받는 함수를 설계해 더 깔끔하고 적응력 있는 코드를 작성하세요.
사용자 정의 함수 주제에서 함수 정의와 호출을 다뤘습니다. 예상 시그니처와 맞지 않는 호출은 에러 발생. 예:
def greet(name, msg):
"""이 함수는 제공된 메시지로 사람에게 인사합니다."""
print("Hello", name + ", " + msg)
greet("Monica", "Good morning!")
출력
Hello Monica, Good morning!
greet() 함수는 두 매개변수 받음. 올바른 인자 개수로 호출 시 원활; 아니면 TypeError와 명확한 메시지.
>>> greet("Monica") # 인자 1개만
TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # 인자 없음 TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
파이썬은 가변 개수 인자를 받는 유연한 방법을 제공합니다. 대표적 세 패턴을 다룹니다.
매개변수에 대입 연산자(=)로 기본값 줄 수 있음. 다음 예제는 선택적 메시지 기본값을 "Good morning!"으로 설정:
def greet(name, msg="Good morning!"):
"""
이 함수는 제공된 메시지로 사람에게 인사합니다.
메시지가 제공되지 않으면 "Good morning!"이 기본값.
"""
print("Hello", name + ", " + msg)
greet("Kate")
greet("Bruce", "How do you do?")
출력
Hello Kate, Good morning! Hello Bruce, How do you do?
이 정의에서 name은 필수, msg는 선택. 기본 인자가 있으면 이후 모든 매개변수도 기본값 필요; 아니면 SyntaxError.
def greet(msg = "Good morning!", name): pass
SyntaxError: non-default argument follows default argument
파이썬은 호출자가 인자 이름을 지정해 위치 순서 유연하게 허용. 같은 greet() 함수를 이렇게 호출 가능:
# 키워드 인자 2개
greet(name = "Bruce", msg = "How do you do?")
# 순서 바꿔도 됨
greet(msg = "How do you do?", name = "Bruce")
# 위치 1개, 키워드 1개
greet("Bruce", msg = "How do you do?")
위치/키워드 인자 혼합은 모든 위치 인자가 키워드 인자 앞에 올 때만 허용; 아니면 SyntaxError.
greet(name="Bruce","How do you do?")
SyntaxError: non-keyword arg after keyword arg
설계 시 인자 개수를 모를 때 별표(*)로 튜플로 캡처:
def greet(*names):
"""전달된 튜플의 각 이름에 인사."""
for name in names:
print("Hello", name)
greet("Monica", "Luke", "Steve", "John")
출력
Hello Monica Hello Luke Hello Steve Hello John
함수 내부에서 names는 전달된 모든 인자를 담은 튜플로, 순회나 필요 처리가 가능.
python
Python 메인 함수란? 메인 함수는 Python 프로그램의 진입점. 스크립트 직접 실행 시 인터프리터가 코드 순차 실행. def main() 안 코드는 스크립트가 주 모듈일 때만 실행, 다른 곳에서 임포트 시 실행 안 됨. 명확한 예제로 살펴보기. 예제 1: main() 정의 def main(): print(Hello World!) print(Guru99) 이 파일 실행 시 Guru99만 출력. Hello World! 줄은 main() 안에 있어 호출되지 않음. main()을 스크립트가 메인 프로그램으로 실행될
파이썬 함수 마스터하기: 정의, 호출, 들여쓰기, 인자 & 반환값 함수는 모든 파이썬 애플리케이션의 기본 구성 요소입니다. 재사용 가능한 로직을 캡슐화하고, 코드를 DRY(Dont Repeat Yourself) 원칙에 맞게 유지하며, 프로그램을 더 쉽게 읽고, 테스트하고, 유지보수할 수 있게 해줍니다. 이 가이드에서는 파이썬 3에서 함수를 작성, 호출, 문제 해결하는 데 필요한 모든 단계를 다루며, 파이썬 2에서 마주칠 차이점도 함께 살펴봅니다. 파이썬에서 함수란 무엇인가? 파이썬 함수는 호출할 때 실행되는 독립적인 코드 블