CodeGym /자바 코스 /Python SELF KO /Python의 함수

Python의 함수

Python SELF KO
레벨 6 , 레슨 1
사용 가능

7.1 함수 생성하기

Python에서 함수 생성은 코드가 더 모듈화되고 재사용 가능하며 가독성이 좋게 만드는 프로그래밍의 기본적인 측면이야. Python에서 함수는 def 키워드를 사용하여 정의되며, 그 뒤에 함수 이름과 매개변수를 가진 괄호가 와.

함수를 명령어의 집합으로 생각할 수 있는데, 이 명령어들을 그룹으로 묶고 그 그룹에 이름을 부여하는 거야. 함수 선언의 일반적인 형태는 다음과 같아:


def 이름(매개변수):
    명령어1
    명령어2
    명령어N

Python에서 가장 간단한 함수는 다음과 같아:


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

함수 호출은 괄호와 함께 함수 이름을 작성하는 것으로 이루어져:


greet()  # 출력: Hello, World!

함수 호출은 그것의 내부 코드를 호출하는 위치에 작성하는 것과 같아. 똑같은 코드를 반복해서 작성하는 대신, 별도의 블록으로 묶고 이름을 부여할 수 있어.

7.2 함수에 인자 전달하기

함수가 항상 같은 일을 한다면 재미 없을 거야 — 그냥 이름만 붙인 명령어 블록이고 끝이지. 대신, 함수에는 매개변수라는 걸 생각해냈어 — 함수로 다양한 값을 전달할 수 있는 변수들 말이야.

함수 내부의 변수들은 함수의 매개변수라고 불려. 그리고 특정한 호출 시에 전달되는 값들은 함수의 인자야. 함수 매개변수는 단순히 인자의 값을 받아.


def greet(name):
    print("Hello,", name)
        
greet("Alice")  # 출력: Hello, Alice!

두 개의 인자를 가진 함수의 예:


def print_sum(a, b):
    print(f"합계 {a}와 {b}는 {a + b}입니다")
        
print_sum(10, 15)  # 출력: 합계 10와 15는 25입니다

물론 인자로는 전체 표현식을 전달할 수도 있어:


def print_sum(a, b):
    print(f"합계 {a}와 {b}는 {a + b}입니다")
        
print_sum(10*10-123, 15//2)  # 출력: 합계 -23와 7는 -16입니다

유용해! C/C++을 좋아하는 사람들에게 — 모든 변수는 Python에서 C++의 관점에서 참조야. 함수 매개변수도 그래. 할당할 때 값은 절대 복사되거나 중복되지 않아 — 항상 참조만 할당돼.

7.3 함수는 객체야

Python에서 함수는 일급 객체야, 즉 다른 객체처럼 사용할 수 있어. 이는 개발자들에게 유연한 소프트웨어 솔루션을 개발할 강력한 도구를 제공해.

객체로서의 함수

일급 객체로서, Python 함수는 다음과 같이 할 수 있어:

  • 변수에 할당될 수 있어
  • 다른 함수에 인자로 전달될 수 있어
  • 다른 함수에서 반환될 수 있어
  • 리스트, 딕셔너리와 같은 데이터 구조에 포함될 수 있어

예시:


def shout(text):
    return text.upper()
        
yell = shout
        
def greet(func):
    greeting = func("Hello")  # 함수 호출
    print(greeting)
        
greet(shout)

미래에 이 주제에 대해 더 다룰 것이지만, 일단 기억해 둬 — Python에서는 모든 것이 객체야. 함수, 클래스, 예외, 리스트, 모듈 — 뭐든지.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION