Python : Parameter

m_ngyeong·2024년 10월 12일
0

Python

목록 보기
14/17
post-thumbnail

🐍 Python


매개변수(파라미터, Parameter)

파라미터(parameter)는 함수나 메서드를 정의할 때 사용되는 입력 변수이다. 함수에 전달된 데이터를 처리하기 위해 사용되며, 함수 내부에서 해당 파라미터로 작업을 수행하게 된다.

파라미터와 비슷한 개념으로 인자(argument)가 있는데, 두 용어는 약간의 차이가 있다:

  • 파라미터(parameter): 함수를 정의할 때 쓰이는 변수
  • 인자(argument): 함수를 호출할 때 전달되는 실제 값

파라미터의 기본 사용 예시

def greet(name):  # 'name'은 파라미터
    print(f"Hello, {name}!")

greet("Alice")  # 'Alice'는 인자
  • greet 함수는 하나의 파라미터 name을 받고, 전달된 인자를 사용하여 메시지를 출력.
  • 함수를 호출할 때, "Alice"라는 인자가 전달되었으며, 이 값이 함수 내부에서 name이라는 파라미터로 사용됨.

파라미터의 종류와 예시

💙 위치 기반 파라미터 (Positional Parameters)

위치 기반 파라미터는 함수 호출 시 인자가 파라미터의 순서대로 전달되는 방식이다.

def add(a, b):  # a, b는 위치 기반 파라미터
    return a + b

result = add(3, 5)
print(result)  # 8
  • add 함수는 두 개의 위치 기반 파라미터 ab를 받음.
  • 호출할 때 add(3, 5)에서 3a로, 5b로 전달됨.

💙 키워드 파라미터 (Keyword Parameters)

키워드 파라미터는 함수 호출 시 인자의 이름을 명시하여 전달할 수 있는 방식이다. 순서를 지키지 않아도 된다.

def introduce(name, age):
    print(f"My name is {name} and I am {age} years old.")
    # My name is Alice and I am 25 years old.

introduce(age=25, name="Alice")
  • introduce 함수는 nameage라는 파라미터를 받음.
  • 함수 호출 시 introduce(age=25, name="Alice")에서 인자의 이름을 명시했기 때문에 순서와 상관없이 전달 가능.

💙 기본값을 가지는 파라미터 (Default Parameters)

파라미터에 기본값을 지정하면, 인자를 전달하지 않을 때 그 기본값이 사용된다.

def greet(name, greeting="Hello"):  # greeting은 기본값을 가짐
    print(f"{greeting}, {name}!")

greet("Alice")  # 기본값인 "Hello"가 사용됨
greet("Bob", "Hi")  # 기본값 대신 "Hi"가 사용됨
  • greeting 파라미터는 기본값 "Hello"를 가짐.
  • 호출 시 인자를 전달하지 않으면, greeting은 기본값을 사용하지만, 인자를 전달하면 해당 값이 사용됨.

💙 가변 개수의 파라미터 (Variable-Length Parameters) : *args

*args를 사용하여 가변 개수의 인자를 받을 수 있다. 여러 개의 인자를 튜플 형태로 처리할 수 있다.

def sum_all(*args):  # *args는 여러 개의 인자를 받음
    return sum(args)

print(sum_all(1, 2, 3))  # 6
print(sum_all(4, 5, 6, 7))  # 22
  • *args는 함수가 호출될 때 전달된 여러 인자를 튜플로 받아 처리함.
  • sum_all(1, 2, 3)처럼 여러 값을 전달할 수 있으며, 이 값들은 args라는 튜플로 받음.

💙 키워드 가변 인수 (Keyword Variable-Length Parameters) : **kwargs

**kwargs를 사용하여 가변 개수의 키워드 인자를 받을 수 있다. 키워드 인자들은 딕셔너리로 처리된다.

def print_info(**kwargs):  # **kwargs는 키워드 인자를 받음
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=25, city="Seoul")
  • **kwargs는 키워드 인자들을 딕셔너리로 받음.
  • print_info(name="Alice", age=25, city="Seoul")처럼 다양한 인자를 전달하면, 이 인자들은 kwargs 딕셔너리로 묶여서 처리됨.

파라미터 요약

파라미터 유형예시
위치 기반 파라미터def add(a, b): return a + b
키워드 파라미터introduce(age=25, name="Alice")
기본값을 가지는 파라미터def greet(name, greeting="Hello"):
가변 개수의 위치 인수 (*args)def sum_all(*args): return sum(args)
가변 개수의 키워드 인수 (**kwargs)def print_info(**kwargs):


profile
ʚȉɞ

0개의 댓글