Juwan Park :: 파이썬에서 Hello, world! 예제를 만들었더니 오류가 나요?

파이썬에서 Hello, world! 예제를 만들었더니 오류가 나요?

★프로그래밍/Python :: 2016.08.14 20:22

파이썬(Python)으로 Hello, world! 예제를 처음 만들어 보면 이런 경험을 할 분들이 있습니다.

print "Hello, world!"

그리고 실행해 보면...

  File "<stdin>", line 1
    print "Hello world!"
                       ^
SyntaxError: Missing parentheses in call to 'print'

이렇게 오류를 내뱉습니다.

이렇게 되면 아마도 "어? 이상하다? 난 분명히 제대로 코딩했는데 이게 왜 이러지? 이거 참 귀신이 곡하겠네..." 하는 생각이 드실지도 모르겠습니다.
파이썬 입문 사이트인 LearnPython에서도 저 형식의 코드가 제대로 돌아가기에 더욱 의아하게 생각될 것입니다.

그러면 이렇게 코딩을 해 봅시다.

print("Hello, world!")

그리고 실행해 봅시다.

Hello world!

제대로 돌아갑니다.

"아니? 아까건 안 됐는데 이건 왜 잘 되지?" 하는 생각이 드실 텐데요...

원인은 이렇습니다.

파이썬 2까지는 print 명령문을 구문(statement) 형식과 함수(function) 형식으로 쓰는 것을 둘 다 인정했습니다. 그렇기 때문에 저 두 코드가 모두 제대로 돌아갑니다.
하지만 파이썬 3으로 버전업되면서 print문은 함수형만 인정됩니다. 그렇기 때문에 구문형인 첫 번째 코드대로 쓰면 오류가 나지만 함수형인 두 번째 코드대로 쓰면 제대로 돌아갑니다.

그러니까, 파이썬 2까지는 print문에 괄호가 필요없었지만 파이썬 3에서는 함수로 바뀌었기 때문에 괄호로 싸 주어야 한다는 말입니다.

이제 파이썬 3에서 print문이 오류나는 이유에 대한 궁금증이 풀리셨으리라 믿습니다.
많은 도움 되셨기를 바랍니다.

댓글을 달아 주세요.

Today 24    Yday 68    Tot 71,745
Juwan Park
Juwan Park's blog is powered by Daum and TISTORY.
Contemporary Blue for TISTORY.
Designed by Juwan Park. Creative Commons License
▲ TOP