Công cụ định dạng Python (Ruff)

Định dạng mã Python bằng Ruff, công cụ tương thích Black được biên dịch sang WebAssembly. Chọn thụt lề và kiểu dấu nháy; lỗi cú pháp hiển thị dòng và cột.

Lần chạy đầu tiên sẽ tải trình định dạng Ruff (WebAssembly, vài MB).
Đầu ra

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Công cụ Liên quan

Xem Tất cả

Định dạng Python là gì?

Công cụ định dạng Python chạy Ruff formatter – công cụ định dạng Python nhanh, tương thích Black – ngay trong trình duyệt qua WebAssembly. Nó chuẩn hóa thụt lề, khoảng cách, dấu nháy, dòng trống và ngắt dòng ở 88 ký tự.

Cách sử dụng Định dạng Python

  1. Dán mã Python vào ô nhập hoặc bấm Tải ví dụ.
  2. Chọn Thụt lề và Kiểu dấu nháy.
  3. Bấm Định dạng. Lần chạy đầu tiên sẽ tải engine Ruff (WebAssembly, vài MB); các lần sau chạy tức thì.
  4. Sao chép hoặc tải xuống mã đã định dạng.

Ví dụ

Đầu vào
def f(a,b):
  return {'x':a}
Đầu ra
def f(a, b):
    return {"x": a}

Khi nào nên dùng Định dạng Python

Dùng để làm gọn script và đoạn mã, định dạng mã cho câu trả lời hoặc giảng dạy, hoặc kiểm tra mã có phân tích được không. Công cụ chỉ định dạng – không áp dụng các sửa lỗi lint như xóa import không dùng hay sắp xếp import. Với dự án, hãy chạy ruff format hoặc Black trên máy với cấu hình của bạn.

Định dạng Python hoạt động như thế nào

Bản build chính thức @astral-sh/ruff-wasm-web của Ruff được tải khi cần. Một workspace Ruff được tạo với line-length = 88, indent-width / indent-style và quote-style đã chọn, rồi hàm format của nó được gọi. Ruff phân tích mã thành cây cú pháp và in ra theo phong cách Black (ví dụ hai dòng trống giữa các định nghĩa cấp cao nhất và magic trailing comma). Nếu không phân tích được mã, lỗi của Ruff được hiển thị kèm dòng và cột.

Các Trường Hợp Sử Dụng Phổ Biến

  • Định dạng mã Jupyter hoặc script trước khi chia sẻ
  • Làm cho mã từ các bài hướng dẫn tuân theo PEP 8
  • Kiểm tra cú pháp Python mà không cần cài đặt gì
  • Chuyển thụt lề từ 2 sang 4 dấu cách

Lưu Ý Bảo Mật

Mọi thứ chạy cục bộ trong trình duyệt của bạn; đoạn mã bạn dán vào không được tải lên đâu cả.

Câu Hỏi Thường Gặp

Kết quả có giống Black không?

Ruff formatter được thiết kế để tương thích với Black; khác biệt rất hiếm.

Vì sao lần chạy đầu tiên chậm?

Module WebAssembly của Ruff (vài MB) được tải về một lần; trình duyệt sẽ lưu đệm nó.

Công cụ có sắp xếp import hoặc xóa import không dùng không?

Không, nó chỉ định dạng. Đó là các sửa lỗi lint (quy tắc I và F401 của Ruff).

Mã của tôi có bị thực thi không?

Không, mã chỉ được phân tích và in lại.

Khám phá thêm danh mục