본문 바로가기

Programming👩🏻‍💻/Python

위치 인수(Positional Argument), 키워드 인수(Keyword Argument)

1. 위치 인수

위치 인수는 함수 값을 전달할 때 인수의 순서가 중요한 방식이다.

함수에서 정의된 순서대로 값을 전달해야 한다.

 

흔히 볼 수 있는 함수 인자 전달 형태

def greet(name, age):
	print(f"안녕하세요, 내 이름은 {name}이고요, 나이는 {age}입니다.")


greet('mimi', 30)

# 순서에 따라 값을 전달

 

 

2. 키워드 인수 

키워드 인수는 값을 전달할 때 매개변수의 이름을 명시해서 값을 전달하는 방식이다.

"순서와 상관없이" 매개변수 이름으로 값을 지정할 수 있다. 가독성이 좋아진다.

def greet(name, age):
	print(f"안녕하세요, 내 이름은 {name}이고요, 나이는 {age}입니다.")


greet(name='mimi', age=30)
greet(age=30, name='mimi')

# 인자 순서가 바뀌어도 무방하다

 

 

3. 위치 인수와 키워드 인수 혼용하기

위치 인수를 먼저 쓰고, 키워드 인수를 사용해야함. 키워드 인수 뒤에 위치 인수는 'SyntaxError' 오류 발생

def greet(name, age, city):
    print(f"Hello, my name is {name}, I am {age} years old, and I live in {city}.")

greet("Alice", 25, city="New York")  # 위치 인수 + 키워드 인수
# 출력: Hello, my name is Alice, I am 25 years old, and I live in New York.

 

 

4. 내장 함수에서 * (애스터리스크)를 사용하면 그 뒤에 오는 인수들이 키워드 인수로만 전달 되도록 강제한다.

list.sort(*, key=None, reverse=False)

 

 

5. 번외로 애스터리스크는 iterable 객체를 함수 인수로 unpacking 할 때 사용된다.

 

함수 호출시 언패킹:

def add(x, y):
    return x + y

numbers = (1, 2)
result = add(*numbers)  # numbers를 unpacking하여 add(1, 2)로 호출

 

리스트 병합:

list1 = [1, 2]
list2 = [3, 4]
merged = [*list1, *list2]  # [1, 2, 3, 4]

 

사전 병합:

dict1 = {'a': 1}
dict2 = {'b': 2}
merged_dict = {**dict1, **dict2}  # {'a': 1, 'b': 2}

'Programming👩🏻‍💻 > Python' 카테고리의 다른 글

[pandas 🐼] - 기본 데이터 구조  (0) 2024.12.02
Statements vs Expressions 차이  (0) 2024.11.11
파이썬 모듈, 패키지  (0) 2024.11.10
시퀀스 연산  (0) 2024.11.05
Packing, Unpacking  (2) 2024.11.01