Chương 1 GIỚI THIỆU VÀ CÀI ĐẶT PYTHON 1.1 Đôi nét về ngôn ngữ lập trình Python Python là một ngôn ngữ lập trình cấp cao và đa dụng (general- purpose) được phát triển bởi Guido van Rossum. Phiên bản đầu tiên của nó được phát hành vào năm 1991. Tên của nó được đặt theo chương trình hài Monty Python1 của Anh như một cách phản ánh triết lý thiết kế của Python: một ngôn ngữ lập trình thú vị khi sử dụng. Hình 1-1 Logo của Python.
Nguồn: Python Software Foundation Triết lý của ngôn ngữ lập trình Python được mô tả bằng những cách ngôn trong tài liệu The Zen of Python (PEP 20) như: ▪ Simple is better than complex (tạm dịch: Đơn giản tốt hơn phức tạp). ▪ Complex is better than complicated (tạm dịch: Phức hợp tốt hơn phức tạp). ▪ Explicit is better than implicit (tạm dịch: Tường minh tốt hơn là ngầm định). Với những triết lý đó, Python hướng tới sự đơn giản, ngắn gọn trong mã lệnh của mình.
Bạn sẽ cảm nhận được điều này khi bắt đầu lập trình với Python và so sánh nó với các ngôn ngữ như C/C++, Java. Đến nay, Python đã được phát triển qua nhiều phiên bản. Hai nhóm phiên bản được sử dụng hiện nay là Python 2. Tuy nhiên, 1 Theo General Python FAQ, docs.org 9 các phiên bản 2.x đã không còn được hỗ trợ đầy đủ từ ngày 1/1/20201.
Phiên bản mới nhất của Python là 3.2 Lịch sử phát triển Python3 Python được bắt đầu phát triển vào cuối những năm 1980 bởi Guido van Rossum tại Centrum Wiskunde & Informatica (CWI), Hà Lan như một ngôn ngữ kế thừa của ngôn ngữ lập trình ABC có khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành Amoeba. Python được bắt đầu phát triển vào tháng 12 năm 1989. Vào thời điểm đó, van Rossum là tác giả duy nhất của dự án, với tư cách là nhà phát triển chính, cho đến ngày 12 tháng 7 năm 2018. Vào tháng 1 năm 2019, các nhà phát triển cốt lõi Python đã bầu ra một Hội đồng chỉ đạo gồm năm thành viên để lãnh đạo dự án.0 được phát hành vào ngày 16 tháng 10 năm 2000, với nhiều tính năng mới.0, được phát hành vào ngày 3 tháng 12 năm 2008, với nhiều tính năng chính vẫn hỗ trợ ngược Python 2.
Các bản phát hành của Python 3 tích hợp tiện ích 2to3 giúp dịch mã tự động từ Python 2 sang Python 3.7 ban đầu được chỉ định sẽ chấm dứt hoạt động vào năm 2015, nhưng sau đó bị hoãn lại đến năm 2020 vì những lo ngại về việc chuyển đổi các code Python 2 hiện có sang Python 3. Từ thời điểm đó, Python 2 không nhận được thêm bất kỳ bản vá bảo mật hoặc cải tiến nào nữa. Sau khi Python 2 bị ngừng hỗ trợ, chỉ còn Python 3.x và các phiên bản mới hơn được hỗ trợ. Một thời gian sau, Python 3.6 cũng bị ngừng hỗ trợ.8 được phát triển vì tất cả các phiên bản Python trước (bao gồm 2.7) đều có vấn đề bảo mật có thể khiến máy tính bị thực thi mã từ xa và nhiễm độc bộ nhớ web cache.12 được phát triển và các bản cũ hơn bao gồm 3.13 được cập nhật vì nhiều vấn đề bảo mật.
1 Theo PEP 373 -- Python 2.7 Release Schedule 2 Theo PEP 619 -- Python 3.10 Release Schedule 3 Theo https://en.org/wiki/Python_(programming_language) 10 1.3 Cài đặt Python Có nhiều cách khác nhau để lập trình với Python. Phần này mô tả ba cách phù hợp với các nhóm người dùng với điều kiện về thiết bị khác nhau. Lập trình Python trên máy tính sử dụng VS Code Nếu bạn sở hữu một máy tính cá nhân thì nên dùng cách này để tận dụng được đầy đủ chức năng của Python một cách thuận tiện. Trước tiên, bạn cần cài đặt trình biên dịch Python (Python interpreter).
Nên chọn phiên bản Python 3.1 Một lưu ý khi cài đặt Python intepreter là bạn nên tick vào ô “Add Python. to PATH” ở cửa sổ cài đặt đầu tiên (xem Hình 1-2). Sau khi đã cài đặt xong trình biên dịch Python, bạn nên cài đặt một editor (trình soạn thảo) hoặc một IDE (Integrated Development Environment) để lập trình Python được dễ dàng hơn. Có nhiều editor, IDE khác nhau hỗ trợ lập trình Python.
Trong giáo trình này, chúng tôi khuyến nghị sử dụng Visual Studio Code2 (VS Code). Editor này có các ưu điểm như: ▪ Miễn phí, mã nguồn mở, hỗ trợ nhiều nền tảng (Windows, Linux, Mac). ▪ IntelliSense: giúp viết code nhanh chóng hơn bằng cách đưa ra các lựa chọn tự động hoàn thành code cho bạn. ▪ Hỗ trợ tìm và sửa lỗi (debug) hiệu quả.
▪ Nhiều extension hữu ích: như kết nối với Git, đọc file Jupyter Notebook (.ipynb), hỗ trợ Docker. 1 Download Python phiên bản mới nhất tại https://www. Với những phiên bản cũ, download tại https://www.org/ftp/python/. 2 Download bản cài đặt VS Code tại https://code.
11 Hình 1-2 Lưu ý: Khi cài đặt Python nên tick vào ô Add Python. to PATH để thuận tiện chạy các Scripts Python về sau. Hình 1-3 Giao diện của Visual Studio Code. Sau khi cài đặt VS Code xong, bạn nên thực hiện các bước sau để tạo một file code Python đầu tiên và cũng để VS Code hoàn tất cài đặt các extension hỗ trợ lập trình Python.
Chọn File > Open Folder… 2. Tạo mới hoặc chọn một thư mục rồi nhấn Select Folder. Lưu ý: đối với máy tính sử dụng Windows, bạn nên chọn một thư mục trong ổ D: hoặc một ổ đĩa mà bạn có đầy đủ quyền chạy các mã lệnh. Không dùng các thư mục có tên “python” hoặc “code” vì có thể gây lỗi về sau.
Tên và đường dẫn thư mục tốt nhất là không chứa khoảng trắng và không chứa dấu tiếng Việt. Nhấn vào biểu tượng và nhập tên file. Lưu ý: Tên file phải có phần mở rộng. Không nên dùng tên file python.py hoặc code.py để tránh bị lỗi khi chạy.
Tên file tốt nhất là không chứa khoảng trắng và không chứa dấu tiếng Việt. Sau khi tạo file xong, VS Code có thể hỏi bạn có muốn cài đặt extension cho Python không. Nhập nội dung sau đây vào file vừa tạo: #%% print("Xin chao!") 6. Nhấn Shift-Enter để chạy.
Lưu ý: Lúc này VS Code có thể hỏi bạn muốn cài đặt các extension hỗ trợ không, hãy chọn Install. Nếu kết quả hiện ra như hình sau tức là bạn đã hoàn thành cài đặt và chạy thành công đoạn lệnh Python đầu tiên. Chọn File > Auto Save để VS Code tự động lưu code. Lưu ý: Nếu không dùng Auto Save thì phải lưu (Save) file code thủ công bằng cách nhấn Ctrl-S mỗi khi muốn lưu.
Lập trình Python trên máy tính sử dụng trình duyệt web Nếu bạn sử dụng máy tính công cộng hoặc một máy tính không thể cài đặt Python thì bạn có thể sử dụng trình duyệt web có kết nối internet và truy cập vào địa chỉ sau để lập trình Python: https://www.com/online_python_compiler. Lưu ý: Cách này không đảm bảo hỗ trợ đầy đủ chức năng của Python. Chỉ nên dùng khi không thể cài đặt Python và VS Code như cách 1. Giao diện trang OnlineGDB.
Lập trình Python sử dụng smartphone Trong trường hợp không có máy tính, bạn vẫn có thể lập trình Python bằng cách sử dụng smartphone và cài đặt ứng dụng Pydroid 3 (hoặc một ứng dụng tương tự). Lưu ý: cách này không được khuyến khích sử dụng vì không hỗ trợ đủ tính năng của Python. Chỉ nên sử dụng tạm thời cách này trong một thời gian ngắn khi không thể dùng máy tính. Hình 1-5 Ứng dụng Pydroid 3 trên Google Play.4 Một số lời khuyên hữu ích cho những người mới Lập trình là một kỹ năng.
Vì vậy nếu muốn lập trình tốt không có cách nào khác ngoài thực hành. Tự mình thực hành càng nhiều càng tốt! Một số kinh nghiệm khi luyện lập trình: 16 ▪ Cảm thấy không hiểu rõ khi lần đầu học về một khái niệm, kỹ năng lập trình. Điều này là hoàn toàn bình thường! Bạn chỉ cần bỏ thêm chút thời gian xem lại một vài lần, rồi tự mình ngồi code lại nội dung được học thì sẽ dần dần hiểu rõ. Thậm chí đôi khi bạn đã rất cố gắng mà vẫn cảm thấy không hiểu rõ hết.
Không sao cả! Có một hiện tượng là: dường như não của chúng ta tự động tổng hợp kiến thức mà nó từng biết qua. Sau một học kỳ, hoặc vài tháng, thậm chí một năm sau, bạn sẽ ngạc nhiên khi gặp lại kiến thức lúc trước bạn thấy bế tắc: lúc này bạn hiểu nó rất rõ ràng! Vì vậy, đừng ngại khi học qua một lần mà chưa hiểu rõ. Keep learning! ▪ Những lần đầu lập trình đôi khi giống học thuộc lòng, sao chép code. Tức là bạn xem code mẫu rồi gõ lại giống như vậy.
Điều này cũng hoàn toàn bình thường! Học thuộc luôn luôn là một phần của việc thu nạp kiến thức. ▪ Đừng ngại ngồi gõ lại code mẫu. Tự mình gõ lại code khác xa với việc ngồi nhìn code và nghĩ rằng mình hiểu. Gõ lại code giúp bạn trải nghiệm lập trình.
Khi bạn gõ và chạy code, bạn sẽ tự nhiên ghi nhớ, tư duy và phát hiện các lỗi, các vấn đề trong đoạn lệnh. Bạn sẽ hiểu nó cặn kẽ và từ từ sẽ tự viết được các đoạn code theo ý mình. ▪ Internet có thể rất hữu ích. Nếu gặp những lỗi khó hiểu khi lập trình, hoặc nghĩ mãi chưa ra cách lập trình cho một vấn đề, bạn có thể thử google.
Nhiều khả năng bạn sẽ tìm được lời giải từ các diễn đàn, các bài viết về lập trình. Tuy nhiên, đừng lạm dụng! Lúc nào cũng tra google trước khi tự mình tìm cách giải quyết, hoặc chỉ copy code mà không hiểu, chắc chắn sẽ có hại cho bạn! Ngoài ra, bạn cũng nên cẩn thận với vấn đề đạo văn (plagiarism). Nên tìm hiểu về quy định bản quyền của đoạn code mà bạn định sử dụng và nhớ phải ghi nguồn. ▪ Thực hành càng nhiều càng tốt! 17 Chương 2 PHÉP TOÁN CƠ BẢN, BIẾN VÀ NHẬP XUẤT TRONG PYTHON Chương này giúp bạn làm quen với các phép toán cơ bản, khái niệm biến (variables) trong lập trình và các hàm cơ bản để nhập xuất dữ liệu trong Python.1 Sử dụng VS Code như một máy tính cầm tay Phần này demo một số cách thực thi lệnh Python với VS Code.
Bạn có thể tận dụng những cách này để biến VS Code với Python thành một công cụ tính toán như máy tính cầm tay (calculator). Lưu ý: Trước khi có thể chạy code Python trong VS Code, bạn cần Cài đặt Python (xem mục 1.3 Cài đặt Python). Sau đây giới thiệu ba cách thực thi lệnh Python trong VS Code.