Một số kỹ thuật hay dùng
Monkey patch
Monkey patch là kỹ thuật thay đổi hoặc mở rộng hành vi của một hàm, method, class, hoặc module tạ...
Monkey patch phù hợp từng trường hợp trong Django
I. Monkey patch một model method Ví dụ: bạn muốn override method save của User model trong Djang...
Decorator – Gói thêm chức năng cho hàm
Decorator là một khái niệm cực kỳ mạnh mẽ và phổ biến trong Python – đặc biệt khi bạn muốn gói th...
Annotated
Annotated trong Python là cách để gắn thêm thông tin (metadata) vào một kiểu dữ liệu. Cú pháp: ...
Context Manager (with) – Quản lý tài nguyên
Dùng để xử lý logic mở/đóng tự động: file, kết nối, khóa, transaction... with open("file.txt", "...
Metaclass – Tùy biến hành vi của class
Metaclass cho phép bạn thay đổi cách class được tạo ra. class Meta(type): def __new__(cls, ...
Dynamic import (runtime import)
Giúp bạn import module hoặc class dựa theo tên chuỗi, rất mạnh khi viết plugin hoặc hệ thống mở r...
Signal/Event Hooks
Frappe/Django dùng signal để gọi logic khi có sự kiện xảy ra. from frappe.model.document import ...
Strategy Pattern với Dictionary
Dùng dict để map các hàm theo key, tiện xử lý logic thay vì if-elif dài dòng: def add(x, y): ret...
Caching / Memoization
Dùng để lưu kết quả tạm để tránh tính toán lại: from functools import lru_cache @lru_cache(ma...
Metadata
Metadata nghĩa là "dữ liệu về dữ liệu" — tức là thông tin mô tả về một dữ liệu nào đó. Hay nói c...
lambda
lambda trong Python là một hàm ẩn danh (anonymous function) – tức là một hàm không cần đặt tên. ...
functools
functools là một module chuẩn trong Python, cung cấp các công cụ giúp thao tác và cải tiến hàm – ...
MyPy
MyPy là một trình kiểm tra kiểu tĩnh (static type checker) cho ngôn ngữ lập trình Python. Mặc dù ...
yield
yield là một từ khóa trong Python, dùng để tạm dừng một hàm và trả về một giá trị, nhưng không kế...
yeild nâng cao
yield nâng cao – tức là những cách dùng yield ở mức cao hơn, như: yield như kênh giao tiếp 2...
Kỹ thuật hay và gọn gàng khi thao tác với danh sách (list)
1. List Comprehension – Viết gọn vòng lặp trong danh sách Cơ bản: numbers = [1, 2, 3, 4, 5] sq...
Pydantic
Pydantic là một thư viện Python dùng để: Tạo các class dữ liệu kiểu an toàn (type-safe) ...