CHƯƠNG 1: KHÁI QUÁT VỀ LÝ THUYẾT CHUNG 1. Giới thiệu ngôn ngữ Python 1.1 Lịch sử hình thành Python đã được hình thành vào cuối những năm 1980 và được bắt đầu thực hiện vào tháng 12/1989 bởi Guido van Rossum tại CWI tại Hà Lan như là người kế thừa của ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành Amoeba. Van Rossum là tác giả chính của Python, và vai trò trung tâm của ông tiếp tục trong việc quyết định hướng phát triển của Python được phản ánh trong tiêu đề mà cộng đồng Python dành cho ông “Độc tài nhân từ cho cuộc sống” (benevolent dictator for life)(BDFL). 0 được phát hành vào ngày 16/10/2000, với nhiều tính năng chính mới bao gồm một bộ dọn rác đầy đủ và hỗ trợ Unicode.
Với phiên bản này, quá trình phát triển đã được thay đổi và trở thành minh bạch hơn và được cộng đồng ủng hộ. 0 (còn được gọi là Python 3000 hoặc Py3k), một bản phát hành lớn, không tương thích ngược, được phát hành vào ngày 03/12/2008 sau một thời gian dài thử nghiệm. Nhiều trong số các tính năng chính của nó đã được điều chỉnh để tương thích ngược với Python 2. Các tính năng và triết lý phát triển Python là 1 ngôn ngữ lập trình đa hình: lập trình hướng đối tượng và hướng cấu trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngôn ngữ hỗ trợ lập trình theo chức năng và lập trình hướng khía cạnh (Aspect-oriented programming).
Nhiều mô hình khác được hỗ trợ bằng việc sử dụng các phần mở rộng, bao gồm thiết kế theo hợp đồng (design by contract) và lập trình luận lý. Các trang như Mozilla, Reddit, Instagram và PBS đều được viết bằng Python. Ngôn ngữ lập trình Python được dùng vào các mục đích: • Phát triển web (trên máy chủ) • Phát triển phần mềm • Tính toán một cách khoa học • Lên kịch bản cho hệ thống 1. Tại sao nên học lập trình python • Python hỗ trợ nhiều nền tảng khác nhau (Windows, Mac, Linux, Raspberry Pi, etc).
• Python có cú pháp đơn giản, dễ đọc hiểu và rất gần gũi với tiếng Anh. • Cú pháp của Python giúp lập trình viên sử dụng ít dòng code để lập trình cùng một thuật toán hơn so với các ngôn ngữ lập trình khác. • Python sử dụng trình thông dịch để thực thi các dòng code. Do đó, những dòng code có thể được thực thi ngay lập tức mà không cần biên dịch toàn bộ chương trình.
Như vậy giúp chúng ta kiểm tra code nhanh hơn. Python cũng hỗ trợ hàm, thủ tục, hay kể cả lập trình hướng đối tượng. Để viết mã nguồn Python, ta có thể sử dụng bất kỳ một trình soạn thảo nào, kể cả những trình soạn thảo đơn giản nhất như NotePad. Tuy nhiên, để phát triển các ứng dụng một cách hiệu quả hơn, ta nên sử dụng một IDE, để có thể tiết kiệm thời gian và công sức viết code.
Trong phần tìm hiểu này, đồ án sử dụng một trong những IDE thông dụng nhất để lập trình ứng dụng Python, đó là VSCode.2 Cài đặt môi trường làm việc : PyCharm, Jupyter Notebook, VsCode,… Để download Pycharm, ta truy cập vào: Download Visual Studio Code - Mac, Linux, Windows và tải về Hình 1.Tải VSCode cho hệ điều hành phù hợp Sau khi đã tải phiên bản VSCode về máy ta tiến hành cài đặt VSCode theo các bước trong hướng dẫn và những tùy chọn cài đặt.2- 2 Cài đặt VSCode Tiếp theo, ta chọn các tùy chọn cho việc cài đặt.2- 3 Chọn cài Tùy chọn Cài đặt Sau đó ta chọn Install trong màn hình tiếp theo, để bắt đầu tiến hành cài đặt VSCode.2- 4 Lựa chọn Install để cài đặt VSCode Sau đó chọn “Finish” để hoàn tất việc cài đặt.2- 5 Hoàn tất việc cài VSCode 1.3 Cài đặt Python Để download Python, ta truy cập địa chỉ trang chủ của python qua địa chỉ Download Python | Python.org và tải python bản mới nhất.3- 1 Tải Python phiên bản mới nhất Sau khi download xong nhấn vào file. exe vừa download và kích hoạt để cài đặt. Tích chọn mục “Add python.exe to PATH” để tạo môi trường trong máy chủ sau đó Install.3- 2 Install Python Sau khi ấn “Install” ta đợi chương trình chạy xong ấn “Close” là xong.3- 3 Install Python thành công 1.4 Tạo file và viết mã trên VSCODE Để lập trình Python với Visual Studio Code, chúng ta cần cài extension Python cho Visual Studio Code. Extension Python được phát hành bởi Microsoft giúp tự động nhận biết trình thông dịch Python, hỗ trợ gợi nhớ code, gợi ý lỗi, debug, format code,… Để cài đặt extension Python trong Visual Studio Code, các bạn tìm đến phần Extensions hoặc nhấn tổ hợp phím Ctrl+Shift+X rồi gõ python và tiến hành cài đặt extension Python.4- 1 Tìm kiếm Python trong VSCode để cài đặt Trong Visual Studio Code, chúng ta muốn tạo file mới hoặc mở file có trước thì cần chọn mục “File” ở trên xong chọn hoặc ấn các tổ hợp phím tắt.4- 2 Tạo file mới Sau đó, ta sẽ nhận được một file có các dòng để viết code trên VSCode.4- 3 Các dòng code trên VSCode 1.5 Cài đặt các gói thư viện cơ bản 1.1 Cài đặt pip Pip là công cụ quản lý các gói thư viện python (Python package manager).
Với việc sử dụng pip, ta sẽ dễ dàng cài đặt các gói thư viện cần thiết trong quá trình làm việc với Python. Đề cập nhật pip hiện thời lên phiên bản mới nhất, ta mở cmd và dung câu lệnh “python -m pip install --upgrade pip” Hình 1.5- 1 Minh họa cài đặt pip Để cài đặt một thư viện python bất kì ta mở cmd trên windows và gõ pip install “tên thư viện”.5- 2 Ví dụ cài đặt thư viện matplotlib Thư viện Matplotlib là một thư viện xây dựng các khối cần thiết để tạo các biểu đồ chất lượng từ mảng và trực quan và tương tác với chúng.2 Một số gói thư viện thông dụng - NumPy : Được tạo bởi Travis Oliphant, NumPy là một “ngựa kéo” phân tích thực sự của Python. Nó cung cấp cho người dùng cách làm việc với các mảng nhiều chiều, cùng một số lượng lớn các hàm để xử lý trên các toán tử toán học nhiều chiều trên các mảng đó. Mảng là các khối dữ liệu được sắp xếp theo nhiều chiều dựa trên các véc tơ và ma trận trong toán học.
Mảng thường hữu ích không chỉ trong việc lưu dữ liệu mà cả việc tính toán nhanh các ma trận, điều không thể thiếu khi giải quyết các vấn đề liên quan đến khoa học dữ liệu. • Cài đặt: pip install numpy • Trang chủ: NumPy - SciPy Là một dự án gốc bởi Travis Oliphant, Pearu Peterson, and Eric Jones, SciPy hoàn thiện các tính năng của NumPy, nhằm cung cấp các thuật toán cho đại số tuyến tính, không gian ma trận, xử lý tín hiệu và xử lý ảnh, tối ưu, biến đổi Fourier, … • Cài đặt: pip install sclipy • Trang chủ: SciPy - Pandas Pandas là thư viện thực hiện mọi thứ mà NymPy và SciPy không thể làm. Nó làm việc với các đối tượng cấu trúc dữ liệu, DataFrames và Chuỗi (Series). pandas cho phép bạn có thể xử lý các bảng dữ liệu phức tạp của nhiều loại khác nhau (điều mà các mảng của NumPy thông thể làm được) và chuỗi thời gian.
Bạn sẽ dễ dàng tải dữ liệu từ nhiều nguồn khác nhau, sau đó slide, dice, xử lý các thành phần còn thiếu, thêm, đổi tên, tổng hợp (aggregate), reshape và cuối cùng là trực quan dữ liệu theo ý của bạn. • Cài đặt: pip install pandas • Trang chủ: pandas - Python Data Analysis Library (pydata.org) - Scikit-learn Bắt đầu như một phần của SciKits, Scikit-learn là lõi hoạt động của khoa học dữ liệu trên Python. Nó cung cấp tất cả những gì bạn cần để tiền xử lý dữ liệu, học giám sát và không giám sát, lựa chọn mô hình, validate và error metrics. • Cài đặt: pip install scikit-learn • Trang chủ: scikit-learn: machine learning in Python — scikit-learn 1.1 documentation - IPython Một cách tiếp cận khoa học yêu cầu thử nghiệm nhanh các giả thuyết khác nhau trong một khoảng thời gian.
IPython được tạo bởi Fernando Perez để giải quyết việc cần thiết một lệnh Shell Python (dựa trên shell, trình duyệt web, và giao diện ứng dụng) với đồ họa tích hợp, các lệnh có thể tùy chỉnh, lịch sử phong phú (dưới định dạng JSON) và khả năng tính toán song song để cải thiện hiểu năng tính toán. • Cài đặt: pip install “ipython[ notebook]” • Trang chủ: Jupyter and the future of IPython — IPython 1.6 Các khái niệm cơ bản trong lập trình python Trong Python bất kỳ văn bản nào ở bên phải biểu tượng # thì sẽ được trình biên dịch hiểu là một comment và không biên dịch phần đó.6- 1 Comment trong python Sử dụng càng nhiều comment hữu ích trong chương trình của bạn sẽ làm cho công việc lập trình của bạn dễ dàng hơn: Giải thích các giả định. Giải thích các quyết định quan trọng. Giải thích chi tiết quan trọng.
Giải thích vấn đề bạn đang cố gắng giải quyết. Giải thích các vấn đề đang cố gắng khắc phục trong chương trình của mình, v. Hằng số (Literal Constants): Ví dụ về một hằng số theo nghĩa đen là một số như 5, 1. 23 hoặc một chuỗi như ‘python’hay “It’s a string!”.
Nó được gọi là nghĩa đen bởi vì sử dụng giá trị của nó theo nghĩa đen. Số 2 luôn luôn đại diện cho chính nó và không có gì khác và nó là một hằng số vì giá trị của nó không thể thay đổi. Do đó, tất cả những giá trị này được gọi là hằng số. Chuỗi (String): Một chuỗi là một dãy các ký tự.
Chuỗi về cơ bản chỉ là một loạt các từ. Biến: Biến chính xác như tên gọi của nó, tức là giá trị của nó có thể thay đổi. Các biến có thể giúp lưu trữ bất cứ cái gì nếu có thể định nghĩa được nó. Các biến chỉ là một phần của bộ nhớ máy tính nơi lưu trữ một số thông tin.
Đối tượng (Object): Python đề cập đến bất cứ điều gì được sử dụng trong một chương trình như là một đối tượng.7 Cấu trúc dữ liệu là gì, các kiểu cấu trúc dữ liệu trong Python Việc tổ chức, quản lý và lưu trữ dữ liệu rất quan trọng vì nó cho phép truy cập dễ dàng hơn và sửa đổi hiệu quả. Cấu trúc dữ liệu (Data Structure) cho phép bạn sắp xếp dữ liệu của mình theo cách cho phép bạn lưu trữ các bộ dữ liệu được thu thập, liên quan đến chúng và theo đó mà thực hiện các thao tác trên chúng. Python có hỗ trợ ngầm cho Cấu trúc dữ liệu cho phép lưu trữ và truy cập dữ liệu. Các cấu trúc này được gọi là List, Dictionary, Tuple và Set.