백준 5597번
students=[i for i in range(1,31)]
for _ in range(28):
s.remove(int(input())
print(*students,sep="\n")
여기서 *students
가 무엇인지 궁금했다.
우선 나의 궁금증을 해결하기 위해서는 packing 부터 알아야 함
def func(*args):
print(args)
func(1, 2, 3, 4, 5, 6, 'a', 'b') # (1, 2, 3, 4, 5, 6, 'a', 'b')
이런 식으로 나옴
Packing은 함수의 변수에 *
를 붙였다면 unpacking은 그에 반대로 인자에 *
를 붙임
def sum(a,b,c)
return a+b+c
numbers[1,2,3]
sum(numbers) # error
sum(*numbers) # 6
sum(*nubers)
가 어떻게 변하는지 과정을 자세하게 보자면
- sum(*nubers)
- sum(*[1,2,3])
- sum(1,2,3)
이런 식으로 변화함
추가로
함수의 매개변수의 갯수와 인자의 갯수가 다르면 error 발생함