Python 3.3 + Sublime

python3.3-invaid-sytax

Tôi cần viết 1 đoạn script bằng python để lấy dữ liệu từ server.

Việt đầu tiên cần làm là down load bộ cài python từ trang chủ . Tôi khuyến cáo các bạn nên đọc kỹ nội dung tại phần này. Có khá nhiều chú ý cần ghi nhớ.

Tiếp đến là cấu hình Sublime với một số package bổ trợ: SublimeRope, SublimeLinter, SublimeREPL.

Xong, bắt tay thử 1 vài dòng để tìm lại cảm giác.

print ‘Hello Python’

Ctrl + B để build

Output: SyntaxError: invalid syntax

Wtf? Tôi săm soi khá kỹ đoạn code. Không có gì bất thường cả, thử chạy lại 1 lần nữa.

Output vẫn báo 1 lỗi ngớ ngẩn: ‘SyntaxError: invalid syntax

Hừm, có gì nhầm lẫn chăng, tôi google thử 1 số đoạn code python. Tất cả đều y chang, tôi download thử 1 gói ví dụ mẫu từ google tại đây. Giải nén và săm soi, hừm, tất cả đều sử dụng ‘print‘ cho lệnh in ra màn hình. Build thử đoạn ví dụ hello.py từ google và chạy.

Output ngay lập tức thông báo ‘SyntaxError: invalid syntax

Hừ, rõ ràng là có vấn đề rồi, trấn tĩnh lại 1′ tôi lục Document của python ra đọc.

Hơi bất ngờ vì từ sau lần cuối cùng tôi sử dụng python thì đã có tới 6 phiên bản của python được phát hành. Phiên bản cuối cùng tôi sử dụng là 2.5 còn phiên bản hiện tại khi viết post này là 3.3.0.

Mục đầu tiên cần đọc ngay là “What’s new in Python 3.0”, tức là phiên bản kế tiếp sau 2.5.

Hừ! tôi đã có câu trả lời, từ phiên bản 3.0 Python đã thay thế lệnh ‘print’ bằng hàm ‘print’ .Do vậy cú pháp có thay đổi đôi chút. Chi tiết:

Old: print "The answer is", 2*2
New: print("The answer is", 2*2)

Old: print x,           # Trailing comma suppresses newline
New: print(x, end=" ")  # Appends a space instead of a newline

Old: print              # Prints a newline
New: print()            # You must call the function!

Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)

Old: print (x, y)       # prints repr((x, y))
New: print((x, y))      # Not the same as print(x, y)!

Bài học ở đây:

“Read the fucking manual” là cần thiết mỗi khi bắt đầu.

Háu táu, vội vàng luôn là điều cấm kỵ trong lập trình.

Cho dù bạn tự tin đến đâu hãy luôn chuẩn bị tinh thần sẵn sàng fix bug.

Advertisements