args, kwargs / mutable, immutable
각각의 의미와 뜻을 알아보자.
args 뜻
- 복수의 인자를 함수로 받고자 할 때 사용
- args의 타입은 tuple
예제 1
def age_list(*args):
print(args)
age(10, 20, 30)
# 출력값 #
(10, 20, 30)
예제 2
def age_list(*args):
result = 0
for i in args:
result += i
print(result)
add(1, 10, 20)
add(10, 20, 30)
add(10)
# 출력값 #
31
60
10
kwargs 뜻
- keyword = 특정값의 형태로 함수 안에 작성
- kwargs는 dictionary의 형태로 전달됨
def name_age(**kwargs):
print(kwargs)
name_age(name="홍길동", age="100")
### 출력값 ###
{'name': '홍길동', 'age': '100'}
mutable과 immutable은 어떤 특성이 있고, 어떤 자료형인가?
- mutable
mutable은 값이 변할 수 있다. - 데이터만 바뀐다
종류: int, float string, tuple
예를들어 데이터를 변경하려 한다면 원래 사용하던 데이터 주소안에 데이터를 넣을 수 있다.
- immutable
immutable은 값이 변할 수 없다. - 주소 데이터 다 바꾸어야함
종류: list, dictionar
예를들면 데이터를 변경하려 한다면 이전 데이터 주소 지우고 새로운 주소를 만들고 데이터를 넣어주어야 한다.
댓글