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 |