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

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

★프로그래밍/Python :: 2016. 8. 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    Yday    Tot
Juwan Park
Juwan Park's blog is powered by Daum and .
Contemporary Blue for .
Designed by Juwan Park. Creative Commons License
▲ TOP