1. Gợi mở sự hứng thú¶
Nếu bạn làm việc nhiều với máy tính, cuối cùng bạn sẽ thấy có một số tác vụ mà mình muốn tự động hóa. Ví dụ: bạn có thể muốn thực hiện tìm kiếm và thay thế trên một lượng lớn tệp văn bản, hoặc đổi tên và sắp xếp lại hàng loạt tệp ảnh theo một cách phức tạp. Có lẽ bạn muốn viết một cơ sở dữ liệu tùy chỉnh nhỏ, một ứng dụng GUI chuyên dụng, hay một trò chơi đơn giản.
Nếu bạn là một nhà phát triển phần mềm chuyên nghiệp, có thể bạn phải làm việc với nhiều thư viện C/C++/Java nhưng nhận thấy chu kỳ viết/biên dịch/kiểm thử/biên dịch lại thông thường quá chậm chạp. Có lẽ bạn đang viết một bộ kiểm thử cho các thư viện như vậy và thấy việc viết mã kiểm thử là một công việc tẻ nhạt. Hoặc có thể bạn đã viết một chương trình cần sử dụng một ngôn ngữ mở rộng, và bạn không muốn thiết kế cũng như triển khai một ngôn ngữ hoàn toàn mới cho ứng dụng của mình.
Python chính là ngôn ngữ dành cho bạn.
Bạn có thể viết kịch bản shell Unix hoặc tệp batch Windows cho một số tác vụ này, nhưng kịch bản shell hoạt động tốt nhất trong việc di chuyển tệp và thay đổi dữ liệu văn bản, chứ không phù hợp cho các ứng dụng GUI hay trò chơi. Bạn cũng có thể viết chương trình C/C++/Java, nhưng có thể mất rất nhiều thời gian phát triển để có được dù chỉ là một bản thảo chương trình đầu tiên. Python đơn giản hơn để sử dụng, có sẵn trên các hệ điều hành Windows, macOS và Unix, và sẽ giúp bạn hoàn thành công việc nhanh chóng hơn.
Python dễ sử dụng, nhưng nó là một ngôn ngữ lập trình thực thụ, cung cấp cấu trúc và hỗ trợ cho các chương trình lớn tốt hơn nhiều so với kịch bản shell hay tệp batch. Mặt khác, Python cũng cung cấp khả năng kiểm tra lỗi chặt chẽ hơn C, và là một ngôn ngữ bậc rất cao, nó tích hợp sẵn các kiểu dữ liệu cao cấp như mảng linh hoạt và từ điển. Nhờ các kiểu dữ liệu tổng quát hơn, Python có thể áp dụng cho phạm vi vấn đề lớn hơn nhiều so với Awk hay thậm chí là Perl, nhưng nhiều thứ vẫn được thực hiện dễ dàng trong Python ít nhất là tương đương với các ngôn ngữ đó.
Python cho phép bạn chia chương trình của mình thành các mô-đun có thể tái sử dụng trong các chương trình Python khác. Nó đi kèm với một tập hợp lớn các mô-đun tiêu chuẩn mà bạn có thể sử dụng làm nền tảng cho các chương trình của mình --- hoặc làm ví dụ để bắt đầu học lập trình Python. Một số mô-đun này cung cấp những thứ như file I/O, system calls, socket, và thậm chí cả giao diện cho các bộ công cụ giao diện người dùng đồ họa như Tk.
Python là một ngôn ngữ thông dịch, điều này có thể giúp bạn tiết kiệm đáng kể thời gian trong quá trình phát triển chương trình vì không cần thực hiện biên dịch và liên kết. Trình thông dịch có thể được sử dụng ở chế độ tương tác, giúp bạn dễ dàng thử nghiệm các tính năng của ngôn ngữ, viết các chương trình dùng một lần, hoặc kiểm thử các hàm trong quá trình phát triển chương trình từ dưới lên. Nó cũng là một chiếc máy tính bỏ túi tiện lợi.
Python cho phép các chương trình được viết một cách gọn gàng và dễ đọc. Các chương trình viết bằng Python thường ngắn hơn nhiều so với các chương trình C, C++ hoặc Java tương đương, vì một vài lý do sau:
các kiểu dữ liệu bậc cao cho phép bạn biểu diễn các thao tác phức tạp chỉ trong một câu lệnh;
việc nhóm các câu lệnh được thực hiện bằng cách thụt lề thay vì sử dụng các dấu ngoặc mở và đóng;
không cần phải khai báo biến hay đối số.
Python có tính mở rộng: nếu bạn biết lập trình C, bạn sẽ dễ dàng thêm một hàm hoặc mô-đun tích hợp mới vào trình thông dịch, để thực hiện các thao tác quan trọng với tốc độ tối đa hoặc để liên kết các chương trình Python với các thư viện chỉ có sẵn dưới dạng nhị phân (như thư viện đồ họa riêng biệt của một nhà cung cấp). Một khi đã thực sự thành thạo, bạn có thể liên kết trình thông dịch Python vào một ứng dụng được viết bằng C và sử dụng nó như một ngôn ngữ mở rộng hoặc ngôn ngữ lệnh cho ứng dụng đó.
Nhân tiện, ngôn ngữ này được đặt tên theo chương trình truyền hình "Monty Python's Flying Circus" của BBC và không liên quan gì đến các loài bò sát. Việc sử dụng các tham chiếu đến những tiểu phẩm của Monty Python trong tài liệu không chỉ được cho phép mà còn được khuyến khích!
Bây giờ, khi bạn đã thực sự hào hứng với Python, bạn sẽ muốn tìm hiểu nó chi tiết hơn một chút. Vì cách tốt nhất để học một ngôn ngữ là sử dụng nó, tài liệu hướng dẫn này mời bạn vừa thực hành với trình thông dịch Python vừa đọc nội dung.
Trong chương tiếp theo, cơ chế sử dụng trình thông dịch sẽ được giải thích. Đây là những thông tin khá khô khan nhưng lại thiết yếu để bạn có thể dùng thử các ví dụ được trình bày sau đó.
Phần còn lại của tài liệu hướng dẫn sẽ giới thiệu các tính năng khác nhau của ngôn ngữ và hệ thống Python thông qua các ví dụ, bắt đầu từ các biểu thức, câu lệnh và kiểu dữ liệu đơn giản, đi qua các hàm và mô-đun, và cuối cùng là đề cập đến các khái niệm nâng cao như ngoại lệ và các lớp do người dùng định nghĩa.