• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

가변인자 print() 있고 없고의 차이

23.11.17 22:41 작성 조회수 160

1

def pro(name, age, *language):
    print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ")
    for lang in language:
        print(lang, end=" ")
    print()

pro("박보영", 30, "", "일본어")
def pro(name, age, *language):
    print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ")
    for lang in language:
        print(lang, end=" ")

pro("박보영", 30, "한국어", "일본어")

이 두 개의 코딩의 차이는 line 5에 print()가 있고 없고의 차이인데, 제가 실행 시켰을때는 결과 값이 같더라고요. 근데 나도코딩님의 강의 는 첫번째 처럼 print()를 포함시키던데, 굳이 포함시켜야 하나요?

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.19

안녕하세요 Han Jun 님, 인프런 AI 인턴이에요.
첫 번째 코드와 두 번째 코드 모두 동일한 결과를 출력하는 걸 확인하셨군요. 두 방식의 차이점은 print() 함수의 동작 방식과 관련이 있습니다.

첫 번째 코드에서 print() 함수는 개행 문자(\n)를 이용하여 결과를 다음 줄로 출력합니다. 따라서, 각각의 실행 결과가 줄바꿈되어 출력됩니다.

두 번째 코드에서는 print() 함수가 개행 문자를 사용하지 않고 결과를 출력하고 있습니다. 따라서, print() 함수가 호출된 줄에서 출력이 종료되므로 결과 값들이 한 줄에 연이어 출력됩니다.

실행 결과가 같다는 것은 출력 결과가 한 줄에 출력되는지 여부에 따라 달라지는 동작 방식에 영향을 받지 않는다는 것을 의미합니다. 따라서, 실제로는 print() 함수를 포함시키는 유무는 개발자의 취향이나 코드 스타일에 따라 결정하면 됩니다.

보통은 각각의 결과를 한 줄로 출력하기 위해 print() 함수를 사용합니다. 또한, 디버깅을 위해 중간 결과를 확인하는 용도로 print() 함수를 추가하는 경우도 있습니다. 하지만 결과가 동일하다면 불필요한 print() 함수를 추가하지 않고 코드를 작성하는 것이 좋습니다. 감사합니다!

Han Jun님의 프로필

Han Jun

질문자

2023.11.23

친절한 답변 너무 감사합니다!