산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 함수 마스터하기: 정의, 호출, 들여쓰기, 인자 & 반환값

파이썬 함수 마스터하기: 정의, 호출, 들여쓰기, 인자 & 반환값

함수는 모든 파이썬 애플리케이션의 기본 구성 요소입니다. 재사용 가능한 로직을 캡슐화하고, 코드를 DRY(Don't Repeat Yourself) 원칙에 맞게 유지하며, 프로그램을 더 쉽게 읽고, 테스트하고, 유지보수할 수 있게 해줍니다. 이 가이드에서는 파이썬 3에서 함수를 작성, 호출, 문제 해결하는 데 필요한 모든 단계를 다루며, 파이썬 2에서 마주칠 차이점도 함께 살펴봅니다.

파이썬에서 함수란 무엇인가?

파이썬 함수는 호출할 때 실행되는 독립적인 코드 블록입니다. 단일하고 잘 정의된 작업을 수행하며 필요할 때마다 재사용할 수 있는 미니 프로그램이라고 생각하면 됩니다. 파이썬에는 수많은 내장 함수(print(), input() 등)가 제공되지만, 직접 함수를 만들어 코드의 확장성과 진화를 도모할 수 있습니다.

함수 정의와 호출

함수는 def 키워드로 선언하며, 함수 이름과 괄호로 감싼 매개변수 리스트가 뒤따릅니다. 함수 본문은 콜론으로 시작하고 반드시 들여쓰기되어야 합니다.

def greet():
    print("Hello, Python!")

# 함수 호출
greet()

출력: Hello, Python!

들여쓰기가 중요한 이유

파이썬은 중괄호나 명시적인 begin/end 문을 사용하지 않습니다. 대신 들여쓰기로 범위를 정의합니다. 함수, 루프, 조건문 등 모든 코드 블록은 일관된 들여쓰기 수준을 공유해야 합니다.

  1. 함수 정의 후 최소 한 수준의 들여쓰기(일반적으로 공백 4칸)가 필요합니다.
  2. 해당 함수 내의 모든 문장은 동일한 들여쓰기를 사용해야 합니다.
  3. 탭과 공백을 섞거나 들여쓰기 깊이를 다르게 하면 IndentationError가 발생합니다.

올바른 들여쓰기 예시:

def demo():
    print("Line 1")
    print("Line 2")

자주 하는 실수:

def demo():
print("Oops")

이 경우 IndentationError: expected an indented block 에러가 발생합니다.

return 문 사용하기

return 키워드는 값을 호출자에게 돌려줍니다. 함수가 return을 만나지 않고 끝까지 도달하면 암시적으로 None을 반환합니다.

def square(x):
    return x * x

print(square(4))  # 16

return이 없을 때:

def square(x):
    x * x

print(square(4))  # None

또한 함수 객체 자체를 출력하면(예: print(square)) 메모리 주소가 표시되는데, 이는 실제 애플리케이션 코드에서는 거의 쓸모가 없습니다.

함수에 인자 전달하기

인자는 함수가 동작하는 데 필요한 데이터를 제공합니다. 매개변수는 함수 시그니처에 정의된 자리 표시자입니다.

def multiply(x, y=1):
    return x * y

print(multiply(4))        # 4 (y는 기본값 1)
print(multiply(4, 2))     # 8
print(multiply(y=3, x=2)) # 6 (키워드 인자로 순서 변경 가능)

가변 길이 인자 (*args와 **kwargs)

임의의 개수 인자를 받아야 할 때가 있습니다. 위치 인자에는 *args, 키워드 인자에는 **kwargs를 사용합니다.

def summarize(*values, **options):
    total = sum(values)
    print(f"Total: {total}")
    if options.get("show_details"):
        print("Values:", values)

summarize(1, 2, 3, 4, 5, show_details=True)

파이썬 2와 파이썬 3: 주요 차이점

함수 설계 모범 사례

종합 예제

# 포괄적인 파이썬 3 스크립트 예제
def greet():
    """Print a friendly greeting."""
    print("Hello, Python!")

def square(x: int) -> int:
    """Return the square of x."""
    return x * x

def multiply(x: int, y: int = 1) -> int:
    """Return the product of x and y, with y defaulting to 1."""
    return x * y

# 시연
if __name__ == "__main__":
    greet()
    print(square(4))        # 16
    print(multiply(4))      # 4
    print(multiply(4, 2))   # 8
    print(multiply(y=2, x=4)) # 8

더 자세한 내용은 공식 파이썬 문서의 함수 정의 섹션을 참조하세요.

python

  1. 파이썬 문장, 들여쓰기, 주석: 명확한 가이드
  2. 파이썬 함수 인자 마스터하기: 위치, 키워드, 기본 매개변수
  3. 파이썬 람다 함수: 익명 함수 실전 가이드
  4. Python 제너레이터: 효율적 이터레이션과 고급 활용
  5. Python 클로저 이해하기: 중첩 함수가 변수 캡처하는 방법
  6. Python 데코레이터 마스터하기: 전문 기법으로 함수 강화
  7. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  8. 파이썬 람다 함수 마스터하기: 실용 예제 & 모범 사례
  9. 파이썬 abs() 함수: 숫자 & 복소수의 절댓값 구하기
  10. 파이썬 round() 함수 완전 정복: 실용 예제로 이해하기