강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박미나님의 프로필 이미지
박미나

작성한 질문수

프로그래밍, 데이터 과학을 위한 파이썬 입문

Function arguments

가변인자 튜플 출력

해결된 질문

작성

·

227

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

TeamLab님의 프로필 이미지
TeamLab
지식공유자

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

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

 

박미나님의 프로필 이미지
박미나

작성한 질문수

질문하기