1️⃣ 곱셈
num = 3 * 3 print(num) # 9
2️⃣ 거듭제곱
num = 3 ** 3 print(num) # 27
3️⃣ 리스트형 데이터의 확장
nums = [0] * 5 print(num) # [0, 0, 0, 0, 0]
Unpacking은 리스트 / 튜플 / 집합 / 딕셔너리 안의 데이터들을 풀어주는 것을 말한다.
1️⃣ 리스트
nums = [1, 2, 3, 3] print(nums) # [1, 2, 3, 3] print(*nums) # 1, 2, 3, 3
2️⃣ 튜플
nums = (1, 2, 3, 3) print(nums) # (1, 2, 3, 3) print(*nums) # 1, 2, 3, 3
3️⃣ 집합
nums = set([1, 2, 3, 3]) print(nums) # {1, 2, 3} print(*nums) # 1, 2, 3
4️⃣ 딕셔너리
dic = {1: 'hello', 2: 'world' , 3: 'python'} print(nums) # {1: 'hello', 2: 'world', 3: 'python'} print(*nums) # 1, 2, 3
가변인자에는 positional arguments (위치에 따라 정해지는 인자 *args), keyword arguments (키워드를 갖는 인자 **kwargs) 가 있다.
1️⃣ positional arguments
def sol(*args): print(args) sol("Tom", 10) # ("Tom", 10)
2️⃣ keyword arguments
def sol(**kwargs): print(kwargs) print(kwargs["name"]) print(kwars["age"]) sol(name = "Tom", age = 10) # (name = "Tom", age = 10) # Tom # 10
3️⃣ positional arguments & keyword arguments
def sol(*args, **kwargs): print(args) print(kwargs) sol("Tom", age = 10) # ("Tom") # {age = 10}
이때, *args는 **kwargs 보다 앞에 위치해야만 한다. keyword arguments는 default값을 설정할 수 있는 반면에 positional arguments는 생략이 불가능하고 정해진 위치에 인자 전달해야 하기 때문이다.