Nhảy đến nội dung chính

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) ...