• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

가변인자 튜플 출력

19.05.28 21:25 작성 조회수 133

0

5강 function arguments의 14분 41초에서요.

print(args) 를 하면 (3,4,5)이어서요.

x, y, z = args 는

x, y, z = (3,4,5)라고 생각했어요.

args에는 (3,4,5)라는 데이터가 있으니까요.

그래서 print(x)를 하면 당연히 튜플 안에 있는 거니까

(3) 이렇게 나올 줄 알았는데

왜 그냥 3이 나오나요?

 

----------------------------------------------

print(x)가 그냥 3이 나와서 특이해서요.

(3) 이 나오게 하고 싶었어요.

그래서 아래 모듈(?)을 만들어봤는데요.

def asterisk_test_2(*args):

   print(args)

   x, y, z = args

   print(x)

   return x, y, z

print(asterisk_test_2( (3),(4),(5) ))

 

이렇게 했는데요.

결과는 아래와 같더라고요.

(3, 4, 5)

3

(3, 4, 5)

 

print(x)가 그냥 3이어도

print(args)는 ( (3), (4), (5) )

일 줄 알았는데 (3,4,5) 가 나왔는데요.

 

원래 튜플 안에서 튜플이 있으면 안 되는 건가요?

왜 print(args)는 ( (3), (4), (5) )가 안 나오고

(3,4,5)가 나온 건가요?

 

알려주시면 정말 감사하겠습니다^^

답변 1

답변을 작성해보세요.

1

args는 튜플이지만 안에 있는 값들은 int 입니다. 그러므로 x는 3이 맞습니다. 

만약 (3)이 나오고 싶다면 즉 각 값들이 튜플이 되고 싶다면 넘겨줄때 `((3,), (4,), (5,))` 형태로입력을 해주셔야 할거 같습니다.