~/VibeHandbook
PDF miễn phí

Ngôn ngữ

python.org

Python

What it is

Hãy tưởng tượng bạn đưa cho ai đó một chiếc hộp mà không nói bên trong có gì; họ chỉ biết được khi mở hộp ra. Python xử lý dữ liệu theo cách tương tự — nó xác định một biến đang chứa loại giá trị gì ngay trong lúc chương trình chạy, thay vì bắt bạn phải khai báo trước. Đó chính là ý nghĩa của "dynamically-typed" (định kiểu động). Python là một ngôn ngữ bậc cao, định kiểu động, được đánh giá cao nhờ tính dễ đọc và hệ sinh thái đồ sộ. Nó chạy được ở khắp mọi nơi, đọc gần như mã giả (pseudocode), và là ngôn ngữ chung mặc định của khoa học dữ liệu, machine learning, viết script, và các dịch vụ .

Strengths

  • Đường cong học tập thoải mái và cú pháp nổi tiếng dễ đọc.
  • Hệ sinh thái thư viện khổng lồ (PyPI, kho gói của Python) — numpy, pandas, requests, FastAPI, và gần như mọi AI/ML.
  • Rất mạnh cho glue code (mã kết nối các thành phần), tự động hóa, tạo mẫu nhanh (prototyping), và xử lý dữ liệu.
  • REPL (dấu nhắc lệnh tương tác) mạnh mẽ và văn hóa notebook cho việc khám phá tương tác.

Trade-offs

  • Chậm với các tác vụ nặng về CPU thuần túy; GIL (một khóa chỉ cho phép một luồng chạy tại một thời điểm) giới hạn khả năng đa luồng thực sự.
  • Hãy hình dung một lỗi đánh máy trên một biểu mẫu mà không ai kiểm tra cho đến khi biểu mẫu đó thực sự được nộp. Python cũng tương tự: nó thường chỉ phát hiện lỗi kiểu dữ liệu (ví dụ, coi một con số là văn bản) khi dòng mã đó thực sự chạy, chứ không phải trước đó. Nó bắt các lỗi này lúc runtime (thời điểm chạy chương trình) trừ khi bạn thêm type hint cùng với một trình kiểm tra như mypy hoặc pyright.
  • Việc quản lý (thư viện phụ thuộc) và môi trường (pip, venv, poetry, uv) là nguồn gây khó chịu thường xuyên.
  • Đóng gói và phát hành một file thực thi độc lập khá bất tiện.

When to reach for it

Hãy chọn Python khi bạn muốn làm việc nhanh: pipeline dữ liệu, huấn luyện và suy luận mô hình ML, script tự động hóa, công cụ nội bộ, và các (Application Programming Interface — giao diện lập trình ứng dụng) web nơi tốc độ phát triển của lập trình viên quan trọng hơn tốc độ chạy thuần túy. Đây là lựa chọn mặc định an toàn nhất cho bất cứ điều gì liên quan đến AI hoặc dữ liệu.

Vibe coding fit

Các trợ lý AI cực kỳ giỏi với Python — đây là ngôn ngữ xuất hiện nhiều nhất trong dữ liệu huấn luyện của chúng, nên mã được tạo ra thường đúng chuẩn (idiomatic) và chạy được ngay. Để định hướng AI tốt, hãy nêu rõ tên và phiên bản thư viện bạn muốn dùng (ví dụ: "dùng FastAPI và Pydantic v2"), yêu cầu type hint để cả bạn lẫn mô hình đều bám sát thực tế, và yêu cầu một requirements.txt hoặc pyproject.toml ngay từ đầu để tránh lệch phiên bản. Hãy bảo trợ lý thêm một bài test nhỏ hoặc một khối if __name__ == "__main__" có thể chạy được, để bạn kiểm chứng từng bước trước khi tiếp tục.

from collections import Counter

def top_words(text: str, n: int = 3) -> list[tuple[str, int]]:
    words = (w.lower() for w in text.split())
    return Counter(words).most_common(n)

print(top_words("the cat the dog the bird"))  # [('the', 3), ('cat', 1), ('dog', 1)]