Chuyển đến nội dung chính

Python: Welcome to Python - Part 1

Python là gì?

Python là một ngôn ngữ lập trình bậc cao, mã nguồn mở và đa nền tảng. Python được Guido van Rossum giới thiệu vào năm 1991 và đã trải qua 3 giai đoạn phát triển khác nhau tương ứng với các version, mới nhất hiện nay là Python version 3x.

Lợi ích của việc sử dụng Python để lập trình trí tuệ nhân tạo (AI):

  • Dễ học và dễ đọc: Python có cú pháp đơn giản, giúp người mới học lập trình dễ dàng tiếp cận. Điều này làm cho Python trở thành một trong những ngôn ngữ phổ biến cho các nhà phát triển AI.
  • Thư viện đa dạng: Python có nhiều thư viện mạnh mẽ hỗ trợ việc phân tích dữ liệu và xây dựng mô hình AI. Các thư viện như NumPy, Pandas, Scikit-learn, và TensorFlow giúp tối ưu hóa quá trình phát triển các ứng dụng AI.
  • Linh hoạt và đa dụng: Python không chỉ được sử dụng cho AI, mà còn cho phát triển web, tự động hóa tác vụ, xử lý dữ liệu, và nhiều lĩnh vực khác.
  • Cộng đồng lớn: Python có một cộng đồng lập trình viên rộng lớn, với nhiều tài liệu, diễn đàn, và hỗ trợ từ cộng đồng. Điều này giúp bạn dễ dàng tìm kiếm giải pháp khi gặp khó khăn.
  • Tích hợp tốt với các công cụ khác: Python có khả năng tích hợp tốt với các công cụ và thư viện khác, giúp bạn kết hợp các phần mềm và dịch vụ khác nhau để xây dựng ứng dụng AI phức tạp. 

Zen Of Python

Zen of Python (dịch: Thiền của Python) là một tập hợp gồm 19 "nguyên tắc chỉ dẫn" cho việc viết chương trình máy tính, góp phần ảnh hưởng đến thiết kế của ngôn ngữ lập trình Python. Kỹ sư phần mềm Tim Peters  đã viết bộ các nguyên tắc này và đăng tải lên danh sách thư Python vào năm 1999. Bản liệt kê của Peters bỏ ngỏ một nguyên tắc thứ 20 "để cho Guido điền vào", ám chỉ đến Rossum Guido van Rossum – tác giả

Các nguyên tắc được liệt kê và dịch sang Tiếng Việt ở bảng bên dưới:
STT Nguyên gốc Phiên dịch
1 Beautiful is better than ugly. Đẹp đẽ thì tốt hơn xấu xí.
2 Explicit is better than implicit. Tường minh thì tốt hơn ngầm định.
3 & 4 Simple is better than complex.

Complex is better than complicated.

Đơn giản thì tốt hơn phức tạp.

Phức tạp thì tốt hơn rắc rối.

5 Flat is better than nested. Bằng phẳng thì tốt hơn lồng ghép.
6 Sparse is better than dense. Rải rác thì tốt hơn dày đặc.
7 Readability counts. Tính dễ đọc rất đáng lưu tâm.
8 & 9 Special cases aren't special enough to break the rules.

Although practicality beats purity.

Trường hợp đặc biệt cũng không đủ đặc biệt đến nỗi phá vỡ quy tắc,

dẫu cho tính thực dụng đánh bật tính thuần túy.

10 Errors should never pass silently.

Unless explicitly silenced.

Lỗi thì đừng nên bao giờ lặng thinh mà bỏ qua,

trừ phi bắt nó câm lặng một cách tường minh.

12 In the face of ambiguity, refuse the temptation to guess. Khi đối mặt với sự mơ hồ, hãy từ chối cám dỗ của việc suy đoán.
13 & 14 There should be one—and preferably only one—obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Nên có một – và thà chỉ có một – cách rõ ràng để làm điều đó,

mặc dù cách đó ban đầu có thể không hiển nhiên, trừ phi bạn là người Hà Lan.

15 & 16 Now is better than never.

Although never is often better than right now.

Bây giờ thì tốt hơn không bao giờ,

mặc dù không bao giờ thì thường là tốt hơn ngay bây giờ.

17 & 18 If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Nếu bản thực hiện mà khó giải thích, thì đó là một ý tưởng tồi.

Nếu bản thực hiện mà dễ giải thích, thì đó có thể là một ý tưởng hay.

19 Namespaces are one honking great idea—let's do more of those! Không gian tên là một ý tưởng rất chi là vĩ đại—hãy làm thế nhiều hơn!

Triết lý này thể hiện tư duy thiết kế của Python, với sự tập trung vào việc viết mã lệnh rõ ràng, đơn giản và dễ đọc. Python được thiết kế để giúp người lập trình viết code một cách hiệu quả và dễ dàng hiểu, đồng thời khuyến khích việc sử dụng các cấu trúc ngôn ngữ một cách có chủ đích và tối ưu.

Cài đặt

Đầu tiên, bạn cần cài đặt Python 3: Python 3

IDE: bạn cài đặt Visual Studio Code: https://code.visualstudio.com/. Bạn có thể sử dụng PyCharm thay thế

Kiểm tra version Python
python3 --version
Các Extension hỗ trợ Python trong Visual Studio Code
  • Python
  • Pylint

Virtual environment (VE) trong Python

Virtual Environment trong Python là một cách để tạo ra một môi trường riêng biệt cho mỗi ứng dụng Python, trong đó có các thư viện và các phiên bản cần thiết cho ứng dụng đó. Môi trường ảo giúp tránh xung đột giữa các ứng dụng Python khác nhau, cũng như giữa các phiên bản Python khác nhau. Bạn có thể tạo, kích hoạt, vô hiệu hóa và xóa bỏ các môi trường ảo một cách dễ dàng

Mở Command Palette (Ctrl+Shift+P), gõ: Create Environment

Chọn phiên bản Python mà bạn muốn sử dụng

Folder /.env sẽ xuất hiện trong Project của bạn

Cài đặt Package

pip là trình quản lý gói tiêu chuẩn cho Python. Nó cho phép bạn cài đặt và quản lý các gói bổ sung không phải là một phần của thư viện chuẩn Python

Kiểm tra version
pip --version
pip 23.2.1 from C:\Python311\Lib\site-packages\pip (python 3.11)

Để cài đặt package, bạn mở terminal, gõ

# Windows (may require elevation)
py -m pip install <package-name>

Để cài đặt một danh sách các gói Python, bạn tạo file requirements.txt. Tên file requirements.txt là một quy ước phổ biến và dễ nhớ. Bạn có thể dùng tên khác.

Tạo file requirements.txt có nội dung như sau
requests
numpy
Flask
Trường hợp bạn muốn chỉ định version cụ thể
requests==2.25.1
numpy>=1.18.5,<=1.21.0
Flask~=1.1.2

Trong ví dụ trên: 

  • == đặt ra một phiên bản chính xác.
  • >= và <= chỉ định một khoảng phiên bản. 
  • ~= chỉ định một phiên bản tương đương, nhưng giữ nguyên version chính của package.
Sử dụng lệnh sau để cài đặt các package từ file requirements.txt
pip install -r requirements.txt
Để xuất danh sách các gói Python đã cài đặt vào một file, bạn có thể sử dụng lệnh pip freeze.
pip freeze > requirements.txt

Tham khảo

Python Là Gì? Tất Tần Tật Về Ngôn Ngữ Lập Trình Python

Zen of Python 

Getting Started with Python in VS Code 

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.