2009-07-03 44 views
126

Tôi đã cố gắng chạy một kịch bản python:Hello World bằng Python

print "Hello, World!" 

Và tôi nhận được lỗi này:

File "hello.py", line 1 
    print "Hello, World!" 
         ^
SyntaxError: invalid syntax 

là gì đang xảy ra?

+113

Tôi nghi ngờ điều này sẽ trở thành câu hỏi Python thường gặp nhất trong vài năm tới. –

+4

Hãy đăng kết quả của 'python --version' –

+8

Chỉ cần suy nghĩ: Python 3.0 sẽ đi kèm với" cảnh báo Py3k "theo mặc định. Hãy suy nghĩ về số lượng hàng nghìn câu hỏi về SO/newsgroup có thể được ngăn chặn bằng cách thực hiện điều này. – RexE

Trả lời

176
print("Hello, World!") 

Bạn đang thể sử dụng Python 3.0, nơi printnow a function (do đó ngoặc) thay vì một tuyên bố.

+1

Cảm ơn bạn, điều này đã làm việc. Tôi không biết tại sao đây không phải là kiến ​​thức phổ biến hơn, bởi vì tôi chỉ cần sao chép-dán từ kết quả đầu tiên của Google cho Python Hello World. – MiffTheFox

+1

"yêu cầu dấu ngoặc đơn" không thực sự là giải thích đầy đủ về sự thay đổi từ 2.x đến 3 :) –

+15

@MiffTheFox: Python 2.x sử dụng bản in làm tuyên bố. Python 3 tương đối mới đã in một hàm thay thế. Phần lớn các lập trình viên Python vẫn đang sử dụng 2.x vì hỗ trợ khung và thư viện mở rộng của nó, vì vậy 3.0 không được chấp nhận như bạn mong đợi bây giờ. –

109

Thật không may là xkcd comic không hoàn toàn cập nhật nữa.

https://imgs.xkcd.com/comics/python.png

Kể từ Python 3.0 bạn phải viết:

print("Hello world!") 

Và một người nào đó vẫn phải viết rằng antigravity thư viện :(

+39

http://svn.python.org/view/python/trunk/Lib/antigravity.py?view = markup & pathrev = 66902 – Blixt

+3

Whoa ... tham chiếu xkcd của bạn thậm chí có hovertext. Đó có phải là xkcd đang làm hay của bạn không? – inetknght

+3

@inetknght: Nếu bạn nhìn vào đánh dấu phía sau bài đăng, bạn sẽ thấy cách hovertext được thực hiện. – Christian

14

Trong python 3.x. bạn sử dụng

print("Hello, World") 

Trong Python 2.x. bạn sử dụng

print "Hello, World!" 
+9

Sử dụng 3.x đòi hỏi ít sự nhiệt tình hơn? – LShaver