Python giúp cải thiện năng suất làm việc của các nhà phát triển vì so với những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viết một chương trình Python.... Nhờ đó, các nhà phát t
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
Ngôn ngữ lập trình python
Đề tài: Tìm hiểu thực thi các câu lệnh có điều kiện trong
python (Conditional Execution) Giảng viên hướng
Nguyễn Trọng Quang
Hà Nội, Tháng 1 năm 2024
Trang 2PHIẾU CHẤM ĐIỂM
STT Họ và tên,
Mã sinh viên
Nội dung thực hiện Điểm Chữ ký
1 Lê Dũng Tiến
22810310329
2 Nguyễn Trọng
Quang
22810310333
Họ và tên Giảng viên Chữ ký Ghi chú
Giảng viên chấm 1
Giảng viên chấm 2
Trang 3Mục lục Chương I: Giới thiệu về Python và hướng dẫn sử dụng colab
A Giới thiệu về python.
1 Python là gì?
2 Đặc điểm của python
3 Vai trò của python
4 Ứng dụng của python
5 Các phiên bản và triết lý thiết kế của python
6 Các Framework và thư viện cơ bản của python
B Hướng dẫn sử dụng Google Colab
1 Google Colab là gì?
2 Tại sao nên sử dụng Google Colab
3 Hướng dẫn sử dụng Google Colab
Trang 4
Chương I: Giới thiệu về Python và dẫn sử dụng colab
A Giới thiệu về python.
1 Python là gì?
- Python là ngôn ngữ lập trình bậc cao, có mã nguồn mở và sử dụng linh hoạt ở
đa nền tảng Ngôn ngữ Python được giới thiệu lần đầu tiên vào năm 1991, và đã được phát triển qua nhiều giai đoạn khác nhau Python là ngôn ngữ có mục đích chung, nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thể nào
2 Đặc điểm của python.
Python là một ngôn ngữ thông dịch: Python là một ngôn ngữ thông dịch, điều này nghĩa là ngôn ngữ này trực tiếp chạy từng dòng mã Nếu có lỗi trong mã chương trình, nó sẽ ngừng chạy Do đó, lập trình viên có thể nhanh chóng tìm ra lỗi trong đoạn mã
Python là một ngôn ngữ dễ sử dụng: Python sử dụng từ ngữ giống trong tiếng Anh Không giống như các ngôn ngữ lập trình khác, Python không sử dụng dấu ngoặc ôm Thay vào đó, ngôn ngữ này sử dụng thụt đầu dòng Python là một ngôn ngữ linh hoạt: Các lập trình viên không cần phải khai báo loại biến khi viết mã bởi vì Python sẽ xác định chúng vào thời điểm chạy Vì vậy, bạn có thể viết các chương trình Python một cách nhanh chóng hơn
Python là một ngôn ngữ cấp cao: Python gần gũi với ngôn ngữ con người hơn các ngôn ngữ lập trình khác Do đó, các lập trình viên không cần phải lo lắng về những chức năng cơ bản của nó như kiến trúc và quản lý bộ nhớ Python là một ngôn ngữ lập trình hướng đối tượng: Python coi mọi thứ đều là đối tượng, nhưng ngôn ngữ này cũng hỗ trợ các phương thức lập trình khác như lập trình hàm và lập trình cấu trúc
3 Vai trò của python.
Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình Python vì ngôn ngữ này có cú pháp cơ bản giống tiếng Anh
Python giúp cải thiện năng suất làm việc của các nhà phát triển vì so với những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viết một chương trình Python
Trang 5Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử dụng cho hầu hết mọi tác vụ Nhờ đó, các nhà phát triển sẽ không cần phải viết mã
từ đầu
Các nhà phát triển có thể dễ dàng sử dụng Python với các ngôn ngữ lập trình phổ biến khác như Java, C và C++
Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà phát triển nhiệt tình hỗ trợ trên toàn thế giới Nếu gặp phải vấn đề, bạn sẽ có thể nhận được sự
hỗ trợ nhanh chóng từ cộng đồng
Trên Internet có rất nhiều tài nguyên hữu ích nếu bạn muốn học Python Ví dụ: bạn có thể dễ dàng tìm thấy video, chỉ dẫn, tài liệu và hướng dẫn dành cho nhà phát triển
Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau, chẳng hạn như Windows, macOS, Linux và Unix
4 Ứng dụng của python.
Phát triển web phía máy chủ
Phát triển web phía máy chủ bao gồm những hàm backend phức tạp mà các trang web thực hiện để hiển thị thông tin cho người dùng Ví dụ: các trang web phải tương tác với cơ sở dữ liệu, giao tiếp với các trang web khác và bảo vệ dữ liệu khi truyền qua mạng
Python hữu ích trong việc lập trình mã phía máy chủ bởi vì ngôn ngữ này cung cấp nhiều thư viện bao gồm mã viết sẵn cho các hàm backend phức tạp Các nhà phát triển cũng sử dụng một loạt các khung Python cung cấp tất cả những công cụ cần thiết để xây dựng ứng dụng web một cách nhanh chóng và dễ dàng hơn Ví dụ: các nhà phát triển có thể tạo ứng dụng web khung trong nháy mắt bởi vì họ không cần phải lập trình nó từ đầu Sau đó, họ có thể kiểm tra ứng dụng web này bằng cách sử dụng các công cụ kiểm thử của khung, mà không cần phụ thuộc vào những công cụ kiểm thử bên ngoài
Tự động hóa bằng các tập lệnh Python
Ngôn ngữ tập lệnh là một ngôn ngữ lập trình tự động hóa các tác vụ mà thường được con người thực hiện Các lập trình viên thường xuyên sử dụng các tập lệnh Python để
tự động hóa nhiều tác vụ hàng ngày như:
Đổi tên một số lượng lớn tệp cùng lúc
Chuyển đổi một tệp sang một loại tệp khác
Loại bỏ các từ trùng lặp trong tệp văn bản
Thực hiện các phép tính toán cơ bản
Gửi email
Trang 6Tải xuống nội dung
Thực hiện phân tích nhật ký cơ bản
Tìm kiếm lỗi trong nhiều tệp
Khoa học dữ liệu và máy học
tính tự động học hỏi từ dữ liệu và đưa ra các dự đoán chính xác Các nhà khoa học dữ liệu sử dụng Python cho các tác vụ khoa học dữ liệu sau:
Sửa và loại bỏ dữ liệu không chính xác, hay còn được gọi là làm sạch dữ liệu Trích xuất và chọn lọc các đặc điểm đa dạng của dữ liệu
Tìm các số liệu thống kê khác nhau từ dữ liệu
Trực quan hóa dữ liệu bằng cách sử dụng các biểu đồ và đồ thị, chẳng hạn như biểu đồ đường, biểu đồ cột, biểu đồ tần suất và biểu đồ tròn
Các nhà khoa học dữ liệu sử dụng những thư viện ML của Python để đào tạo các mô hình ML và xây dựng các công cụ phân loại giúp phân loại dữ liệu một cách chính xác Các chuyên gia từ nhiều lĩnh vực sử dụng những công cụ phân loại dựa trên Python để thực hiện các tác vụ phân loại, chẳng hạn như phân loại hình ảnh, văn bản cũng như lưu lượng truy cập mạng, nhận dạng giọng nói và nhận diện khuôn mặt Các nhà khoa học dữ liệu cũng sử dụng Python cho deep learning, một kỹ thuật ML nâng cao
Phát triển phần mềm
Các nhà phát triển phần mềm thường sử dụng Python cho những tác vụ phát triển và ứng dụng phần mềm khác nhau, chẳng hạn như:
Theo dõi lỗi trong mã của phần mềm
Tự động xây dựng phần mềm
Đảm nhận quản lý dự án phần mềm
Phát triển nguyên mẫu phần mềm
Phát triển các ứng dụng máy tính bằng cách sử dụng những thư viện Giao diện đồ họa người dùng (GUI)
Phát triển từ các trò chơi văn bản đơn giản cho đến những trò chơi điện tử phức tạp
Tự động hóa kiểm thử phần mềm
Trang 7Kiểm thử phần mềm là quy trình kiểm tra xem kết quả thực tế từ phần mềm có khớp với kết quả mong đợi không để đảm bảo rằng phần mềm không có lỗi
Các nhà phát triển sử dụng khung kiểm thử đơn vị Python, chẳng hạn như Unittest, Robot và PyUnit, để kiểm thử các hàm do họ viết
Các kỹ sư kiểm thử phần mềm sử dụng Python để viết các trường hợp kiểm thử cho nhiều tình huống khác nhau Ví dụ: họ sử dụng ngôn ngữ này để kiểm thử giao diện người dùng của một ứng dụng web, nhiều thành phần của phần mềm và những tính năng mới
Các nhà phát triển có thể sử dụng một số công cụ để tự động chạy tập lệnh kiểm thử Những công cụ này có tên gọi là công cụ Tích hợp liên tục/Triển khai liên tục (CI/CD) Các kỹ sư kiểm thử phần mềm cũng như những nhà phát triển sử dụng các công cụ CI/CD như Travis CI và Jenkins để tự động hóa quy trình kiểm thử Công cụ CI/CD tự động chạy các tập lệnh kiểm thử Python và báo cáo kết quả kiểm thử bất kỳ khi nào nhà phát triển thêm vào những dòng mã mới
5 Các phiên bản và triết lý thiết kế của python.
Tính cho tới thời điểm hiện đại thì Python đã có 6 phiên bản được phát hành Phiên bản đầu tiên được ra đời vào tháng 1/1994 và phiên bản mới đây nhất là vào ngày 23/12/20016 Những phiên bản của Python đó là:
Python 1.0: Đây là phiên bản đầu tiên được phát hành vào 01/1994 Python 1.6: Phiên bản 1.x cuối cùng phát hành vào 05/09/2000
Python 2.0: Phiên bản giới thiệu list comprehension vào 16/10/2000 Python 2.7: Phiên bản 2.x cuối cùng phát hành vào 03/07/2010
Python 3.0: Phiên bản loại bỏ cấu trúc và mô đun trùng lặp phát hành vào 3/12/2008
Python 3.6: Phiên bản mới nhất tính cho tới thời điểm hiện tại phát hành vào 23/12//2016
Cốt lõi của triết lý thiết kế Python được cô đọng lại bằng một câu nói: “chỉ nên có một và tốt nhất là chỉ một cách rõ ràng để thực hiện một việc” Python được thiết
kế để mở rộng các module và trình thông dịch một cách dễ dàng, thay vì việc tích hợp tất cả các tính năng chỉ trong phần cốt lõi Phần lõi của Python luôn hướng đến các cú pháp đơn giản, chỉ có một cách trả lời rõ ràng cho bài toán đặt ra
6.Các Framework và thư viện cơ bản của python.
Thư viện Python
Trang 8Thư viện Python là một tập hợp các code thường xuyên được sử dụng giúp nhà phát triển không cần phải lập trình từ đầu Python được cài đặt thì luôn đi kèm với thư viện chuẩn, chứa nhiều các hàm có thể tái sử dụng Ngoài ra, có hơn 137.000 thư viện Python sẵn có cho việc phát triển các ứng dụng, web, khoa học dữ liệu và máy học Một số thư viện Python phổ biến như: Matplotlib, Pandas, NumPy, Requests, OpenCV, Keras, Dưới đây là chi tiết các thư viện lập trình Python
Matplotlib
Matplotlib được dùng nhiều trong các ứng dụng khoa học để hiển thị dữ liệu dưới dạng biểu đồ 2D hoặc 3D Dùng Matplotlib, bạn có thể biến hoá các dữ liệu thô thành các biểu đồ dạng đường, biểu đồ cột
Pandas
Thư viện Pandas là mã nguồn mở, cung cấp cấu trúc dữ liệu và chức năng được tối
ưu hóa để có thể sử dụng, thao tác với dữ liệu chuỗi thời gian và dữ liệu có cấu trúc Đối tượng cốt lõi đóng vai trò quan trọng trong Pandas là DataFrame và Series Bạn
có thể sử dụng Pandas để đọc, ghi, hợp nhất, lọc, nhóm và thống kê dữ liệu
NumPy
NumPy (Numerical Python) là một thư viện mã nguồn mở trong ngôn ngữ lập trình Python, cung cấp cấu trúc mảng đa chiều (ndarray) cùng các hàm số học và thống kể, dùng để tạo, quản lý nhóm, thao tác với các loại logic và thực hiện các phép toán đại
số tuyến tính NumPy hỗ trợ tích hợp với nhiều ngôn ngữ lập trình khác như C và C + +
Requests
Thư viện Requests là công cụ hữu ích cho việc lấy và gửi dữ liệu qua HTTP Bạn có thể sử dụng thư viện này để gửi các yêu cầu HTTP, tương tác với các dịch vụ và ứng dụng web thông qua việc tải tài liệu từ URL, gửi biểu mẫu, tương tác với API web, thêm tiêu đề,
OpenCV-Python
OpenCV-Python ( (Open Source Computer Vision Library - Python) là một thư viện phát triển cho thị giác máy tính Thư viện này cung cấp nhiều hàm cho các tác vụ như đọc và ghi hình ảnh cùng lúc, nhận diện đối tượng, theo dõi chuyển động, xây dựng môi trường 3D từ môi trường 2D, chụp và phân tích hình ảnh từ video
Keras
Keras là thư viện mạng nơ-ron chuyên sâu của Python (neural network) với khả năng
hỗ trợ tuyệt vời cho việc xử lý dữ liệu, trực quan hóa và là một phần quan trọng của nền tảng TensorFlow cho việc xây dựng và huấn luyện các mô hình học máy phức tạp Thư viện này có cấu trúc module đem lại sự linh hoạt cho việc lập trình các ứng dụng sáng tạo hoặc phát triển machine learning
Trang 9Framework Python
Với 2 loại framework Python phổ biến là full-stack và micro, các framework phổ biến dưới đây hỗ trợ developer lập trình ứng dụng Python nhanh chóng và hiệu quả hơn
Django
Framework Django thuộc loại framework web Python full-stack, nó cung cấp một số tính năng hữu ích, gồm web server để phát triển và kiểm thử, một công cụ mẫu để xây dựng UI của trang web và các tính năng bảo mật khác
Flask
Flask là framework micro, được dùng để xây dựng các web đơn giản, quy mô nhỏ Flask cung cấp các tiện ích mở rộng để hỗ trợ xác thực, lớp ánh xạ cơ sở dữ liệu và bảo mật web
TurboGears
TurboGears hỗ trợ xây dựng cơ sở dữ liệu, tạo giao diện người dùng, tạo và quản lý
dự án, đồng thời có các cơ chế bảo mật web
Apache MXNet
Apache MXNet là một framework deep learning linh hoạt cho mọi quy mô dự án Framework này hỗ trợ nhiều ngôn ngữ lập trình như Java, C++, R, Perl và cung cấp
bộ công cụ, thư viện phong phú về máy học, mô hình học sâu dành cho xử lý ngôn ngữ tự nhiên (NLP),
PyTorch
PyTorch là một framework dựa trên thư viện Torch dành cho phát triển machine learning Các developer sử dụng framework này cho các ứng dụng như NLP, robot và thị giác máy tính, được chạy bằng CPU và GPU
B.Hướng dẫn sử dụng Google Colab
1.Google Colab là gì?
Colaboratory hay còn gọi là Google Colab, là một sản phẩm từ Google Research,
nó cho phép thực thi Python trên nền tảng đám mây, đặc biệt phù hợp với Data analysis, machine learning và giáo dục
Colab không cần yêu cầu cài đặt hay cấu hình máy tính, mọi thứ có thể chạy thông
qua trình duyệt, bạn có thể sử dụng tài nguyên máy tính từ CPU tốc độ cao và cả GPUs và cả TPUs đều được cung cấp cho bạn
Trang 10Sử dụng Google Colab có những lợi ích ưu việt như: sẵn sàng chạy Python ở bất kỳ
thiết bị nào có kết nối Internet mà không cần cài đặt, chia sẻ và làm việc nhóm dễ dàng, sử dụng miễn phí GPU cho các dự án về AI
2 Tại sao nên sử dụng Google Colab.
Các thư viện được cài đặt sẵn
Phân phối Anaconda của Jupyter Notebook có một số dữ liệu được cài đặt sẵn như Numpy, Pandas, Matplotlib Ngoài ra, Colab cũng cung cấp nhiều thư viện
machine learning được cài đặt sẵn như Keras, Pytorch, Tensorflow.
Được lưu trên đám mây
Mọi thứ sẽ được lưu trữ trong cục bộ máy khi bạn lựa chọn Jupyter Notebook làm môi trường làm việc Nếu bạn đề cao quyền riêng tư thì đây chắc chắn là một tính năng ưa thích của bạn
Tuy nhiên, nếu bạn muốn máy tính của mình có thể truy cập được với tất cả thiết bị
có đăng nhập Google, thì Google Colab là lựa chọn hàng đầu cho bạn Vì tất cả
Google Colab Notebook đều được lưu trong tài khoản Google Drive của bạn, giống như các tệp Google Docs và Google Sheets
Sự hợp tác
Tính năng nổi trội khác mà Google Colab cung cấp chính là khả năng cộng tác Vì
giống như hợp tác trên tài liệu Google Docs, bạn có thể hợp tác với nhiều nhà phát triển bằng Google Colab Notebook Bên cạnh đó, bạn cũng có thể chia sẻ công việc
đã hoàn thành của mình với các nhà phát triển khác
Sử dụng GPU và TPU miễn phí,
Không cần phải suy nghĩ nhiều, khi chọn Google Colab thay vì Jupyter Notebook
Vì, Google Research cho phép bạn sử dụng GPU và TPU chuyên dụng của họ cho các dự án machine learning cá nhân của bạn
Đối với một số dự án, gia tốc GPU và TPU tạo ra sự khác biệt rất lớn ngay cả đối với một số dự án nhỏ
Sự tổng quát
Google Colab là phiên bản chuyên dụng của Jupyter Notebook Nó chạy trên đám
mây và cung cấp tài nguyên điện toán miễn phí Mối quan hệ giữa Ipython, Jupyter Notebook và Google Colab được hiển thị bên dưới:
Trang 113 Hướng dẫn sử dụng Google Colab.
Tạo thư mục trên Google Drive
Vì Colab hoạt động trên Google Drive, trước tiên bạn cần nhấp vào thư mục bạn sẽ hoạt động sau đó đặt tên thư mục trên Google Drive Bạn có thể thực hiện bằng cách truy cập vào Google Drive, nhấn New để tạo ra một Folder mới
Tạo Colab Notebook mới
Trang 12Để tạo một Colab Notebook mới, bạn nhấp chuột phải => More => Colaboratory
Để đổi tên Notebook, bạn hãy nhấp vào tên tệp
Sau đó mở file vừa tạo lên, bạn sẽ thấy giao diện như sau:
Cài đặt GPU
Phần cứng mặc định của Google Colab là CPU hoặc nó có thể là GPU
Để cài đặt, bạn hãy hấp vào Edit => Notebook Setting => Hardware
Accelerator => GPU Hoặc
Nhấp vào Runtime => Hardware Accelerator=> GPU
Running a Cell