Loading…

درباره فرمت‌کننده پایتون فرمت‌کننده آنلاین پایتون

کد پایتون خود را جایگذاری کنید، طول خط را انتخاب کرده و **فرمت** را بزنید تا خروجی تمیز و یکنواخت فوراً دریافت کنید. فرمت‌کننده از قواعد سبک بلک پیروی می‌کند تا زمان کمتری برای بحث درباره سبک و زمان بیشتری برای توسعه ویژگی‌ها صرف کنید.

چرا از این فرمت‌کننده پایتون استفاده کنیم

  • قالب‌بندی به سبک بلک برای کد پایتون یکپارچه و نظرپردازانه
  • طول خط قابل تنظیم برای کنترل پیچیدن خطوط طولانی
  • قالب‌بندی ای‌دِم‌پوتنت – اجرای مجدد روی کد قالب‌بندی‌شده تغییری ایجاد نمی‌کند
  • بازفرمت ایمن فاصله‌ها، تورفتگی و چیدمان بدون تغییر منطق
  • ایده‌آل برای بازبینی کد، درخواست‌های ادغام و آموزش اعضای جدید تیم
  • مستقیماً در ویرایشگر مرورگر با هایلایت سینتکس کار می‌کند
  • سازگار با استفاده محلی از بلک تا قالب‌بندی آنلاین و CI هماهنگ بمانند

🛠️ نحوه استفاده از قالب‌بند پایتون for python-formatter

1

۱. کد پایتون خود را بچسبانید یا آپلود کنید

📥 کد خود را در ویرایشگر بچسبانید یا یک فایل `.py` را کشیده و رها کنید. قالب‌بند فرض می‌کند پایتون از نظر نحوی معتبر است؛ اگر تجزیه شکست بخورد، به جای نتیجه قالب‌بندی‌شده، خطا مشاهده خواهید کرد.

2

۲. (اختیاری) طول خط را تنظیم کنید

📏 از تنظیم طول خط برای انتخاب میزان پیچیدن خطوط طولانی استفاده کنید. مقادیر رایج ۸۸ (پیش‌فرض بلک)، ۱۰۰ یا ۱۲۰ برای مانیتورهای عریض هستند. اگر می‌خواهید پیچیدن بر اساس طول خط غیرفعال شود، آن را روی ۰ تنظیم کنید.

3

۳. کد خود را قالب‌بندی کنید

✨ روی **قالب‌بندی** کلیک کنید. ابزار کد شما را به یک بک‌اند ایمن به سبک بلک می‌فرستد که تورفتگی، خطوط خالی، فاصله‌ها و پیچیدن را نرمال‌سازی می‌کند در حالی که معناشناسی حفظ می‌شود.

4

۴. بازبینی، کپی یا دانلود

🔍 قبل/بعد را مستقیماً در مرورگر مقایسه کنید. وقتی از نتیجه راضی بودید، کد قالب‌بندی‌شده را به پروژه خود برگردانید یا آن را به عنوان فایل `.py` آماده کامیت دانلود کنید.

مشخصات فنی

موتور قالب‌بندی و سبک

این قالب‌بند از قوانین نظرپردازانه به سبک بلک پیروی می‌کند تا کد پایتون شما در بین فایل‌ها، ماشین‌ها و ویرایشگرها یکسان به نظر برسد.

جنبهرفتاریادداشت‌ها
تورفتگی۴ فاصله در هر سطحتب‌ها در خروجی قالب‌بندی‌شده به فاصله نرمال‌سازی می‌شوند.
نقل‌قولسبک نقل‌قول یکپارچهرشته‌ها ممکن است بازنویسی شوند (مثلاً از تک‌نقل‌قول به دو نقل‌قول) تا از یک سبک یکنواخت پیروی کنند.
وارداتگروه‌بندی و فاصله‌دهی یکپارچهکتابخانه استاندارد، واردات شخص ثالث و محلی در صورت لزوم با خطوط خالی از هم جدا شده‌اند.
خطوط خالینرمال‌شده حول کلاس‌ها و توابعبا جدا کردن بخش‌های منطقی کد، خوانایی را بهبود می‌بخشد.
توان‌همسانیورودی یکسان → خروجی یکساناجرای مکرر فرمت‌کننده تغییرات اضافی ایجاد نمی‌کند.

طول خط و پیچیدن

پارامتر اصلی قابل پیکربندی، تنظیم پیچیدن/طول خط (که در گزینه‌های ابزار به `wrapLineLength` نگاشت شده) است. این پارامتر کنترل می‌کند که چگونه عبارات و لیست‌های آرگومان طولانی در حالی که معناشناسی کد حفظ می‌شود، پیچیده می‌شوند.

تنظیممحدوده مقداراثر
wrapLineLength = 00بر اساس طول خط پیچیده نشود؛ فقط تغییرات حداقلی اعمال می‌شود.
wrapLineLength = 791–79سبک بسیار فشرده، مناسب برای ترمینال‌های سخت‌گیرانه یا نمایشگرهای باریک.
wrapLineLength = 80–10080–100محدوده توصیه‌شده برای اکثر تیم‌های مدرن؛ تعادل بین خوانایی و عرض را برقرار می‌کند.
wrapLineLength = 101–120101–120طرح‌بندی آزادتر برای صفحه‌نمایش‌های فوق عریض یا کدهای حاشیه‌نویسی شده سنگین.

ورودی‌های پشتیبانی‌شده و محدودیت‌ها

فرمت‌کننده هدفش اسکریپت‌ها و ماژول‌های روزمره پایتون مورد استفاده در بک‌اندهای وب، رابط‌های خط فرمان، علم داده و آموزش است.

پارامترمحدودیت / رفتاریادداشت‌ها
پسوند فایل.pyبهترین برای اسکریپت‌های مستقل، ماژول‌ها و نقاط ورودی ساده بسته.
انواع MIMEtext/x-pythonتوسط ویرایشگر و مدیریت آپلود ابزار برای تشخیص فایل‌های پایتون استفاده می‌شود.
حداکثر اندازه ورودی≈ ۲ مگابایت منبعفایل‌های بسیار بزرگ بهتر است مستقیماً با Black در محیط شما فرمت شوند.
رمزگذاریUTF-8 توصیه می‌شودقبل از قالب‌بندی، از رمزگذاری‌های قدیمی (مانند latin-1) تبدیل کنید.

مدل اجرا و ایمنی

قالب‌بندی در یک بک‌اند امن انجام می‌شود، بنابراین می‌توانید قوانین سبک Black را در مرورگر بدون نصب چیزی استفاده کنید.

جنبهرفتاریادداشت‌ها
موتورقالب‌بند پایتون سمت سرور (سبک Black)رابط کاربری کد شما را با گزینه‌های انتخاب شده به `/api/python-formatter` ارسال می‌کند.
انتقالHTTPS POSTکد منبع از طریق یک ارتباط رمزگذاری شده به بک‌اند قالب‌بند ارسال می‌شود.
زمان‌بندیحدود ۲۵ ثانیهاگر قالب‌بندی بیش از حد طول بکشد، درخواست‌ها برای جلوگیری از فرآیندهای معطل لغو می‌شوند.
مدیریت خطاپیام‌های خطای واضحخطاهای پایتون نامعتبر یا داخلی به عنوان متن خطای قابل خواندن به رابط کاربری بازگردانده می‌شوند.

جایگزین‌های خط فرمان با Black

برای همگام‌سازی گردش کار محلی خود با این قالب‌بند آنلاین، Black را به virtualenv، ویرایشگر و خط لوله CI خود اضافه کنید.

لینوکس / 🍎 مک

نصب Black با استفاده از pip

pip install black

قالب‌بند رسمی Black را در محیط پایتون فعال شما نصب می‌کند.

قالب‌بندی یک فایل واحد

black app.py

فایل `app.py` را با استفاده از سبک پیش‌فرض Black بازنویسی می‌کند.

استفاده از طول خط سفارشی

black --line-length 100 app.py

طول خط پیش‌فرض را برای مطابقت با قراردادهای پروژه شما تغییر می‌دهد.

ویندوز (PowerShell / CMD)

نصب Black با راه‌انداز py

py -m pip install black

از راه‌انداز `py` ویندوز برای افزودن Black به محیط شما استفاده می‌کند.

قالب‌بندی یک پروژه کامل

black src/ tests/

همه فایل‌های پایتون در `src/` و `tests/` را به صورت بازگشتی قالب‌بندی می‌کند.

یکپارچه‌سازی با pre-commit

pre-commit install && pre-commit run --all-files

Black را به طور خودکار روی فایل‌های مرحله‌ای قبل از هر commit اجرا می‌کند.

تنظیمات طول خط یکسان را در این ابزار، پیکربندی محلی Black و خط لوله CI خود بازتاب دهید تا از تفاوت‌های نویزدار بازفرمت جلوگیری کنید.

موارد استفاده عملی برای فرمت‌کننده پایتون

توسعه بک‌اند و API

پروژه‌های جنگو، FastAPI، فلاسک یا میکروسرویس خود را قابل خواندن و بازبینی نگه دارید.

  • فرمت‌بندی را روی مدل‌ها، نماها و روترها قبل از ادغام عادی‌سازی کنید.
  • از فرمت‌کننده به عنوان آخرین مرحله قبل از باز کردن درخواست کشش استفاده کنید.
  • یک سبک واحد را روی کدهای نوشته شده دستی و تولید شده اعمال کنید.
from   fastapi import  FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item( item_id:int , q:str|None=None):
    return {"item_id":item_id,"q":q}
from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None) -> dict:
    return {"item_id": item_id, "q": q}

علم داده و نوت‌بوک‌ها

سلول‌های اکتشافی جاپیتر را به اسکریپت‌های پایتون تمیز تبدیل کنید که برای کنترل نسخه آماده هستند.

  • زنجیره‌های طولانی پانداس و خطوط لوله عددی را پاکسازی کنید.
  • سبک را در سراسر نوت‌بوک‌ها قبل از صادر کردن آن‌ها به عنوان ماژول‌های `.py` استاندارد کنید.
  • کدهای صیقل داده شده را در گزارش‌ها، پست‌های وبلاگ و نوشته‌های فنی ارائه دهید.
import pandas as pd

df = pd.read_csv("data.csv")
df["ratio"]=df["a"] /(df["b"]+1e-9)
df=df.sort_values("ratio",ascending=False)
import pandas as pd

df = pd.read_csv("data.csv")
df["ratio"] = df["a"] / (df["b"] + 1e-9)
df = df.sort_values("ratio", ascending=False)

آموزش و یادگیری پایتون

با فرمت‌بندی خودکار مثال‌ها و تمرین‌ها، به یادگیرندگان نشان دهید که پایتون اصیل چگونه به نظر می‌رسد.

  • ارسال‌های دانش‌آموزان را قبل از نمره‌دهی پاکسازی کنید تا روی منطق و ساختار تمرکز شود.
  • تفاوت بین «کار می‌کند» و «قابل خواندن» را با مقایسه‌های قبل/بعد نشان دهید.
  • هنگام آموزش PEP 8 و ویژگی‌های مدرن پایتون، از فرمت‌کننده به صورت زنده استفاده کنید.
x= 1
if   x>0:
 print("positive")
x = 1
if x > 0:
    print("positive")

❓ Frequently Asked Questions

آیا فرمت‌کننده پایتون رفتار کد من را تغییر می‌دهد؟

خیر. یک فرمت‌کننده سبک Black طراحی شده است تا فقط نمایش کد معتبر پایتون را تغییر دهد، نه رفتار آن. این ابزار فاصله‌های سفید، تورفتگی و چیدمان را بازنویسی می‌کند در حالی که معناشناسی برنامه شما را حفظ می‌کند.

📏هنگام فرمت‌بندی کد پایتون چه طول خطی را باید انتخاب کنم؟

PEP 8 تعداد ۷۹ یا ۹۹ کاراکتر را پیشنهاد می‌دهد، در حالی که پیش‌فرض Black 88 است. بسیاری از تیم‌ها بسته به صفحه‌نمایش و ترجیحات خود از ۸۸، ۱۰۰ یا ۱۲۰ استفاده می‌کنند. بخش مهم این است که یک مقدار واحد انتخاب کنید و آن را به طور یکسان در همه جا اعمال کنید.

🧹این چگونه با یک لینتر پایتون متفاوت است؟

یک فرمت‌کننده کد را برای پیروی خودکار از یک سبک یکپارچه بازنویسی می‌کند. یک لینتر (مانند Ruff یا Flake8) کد را برای باگ‌های بالقوه، پیچیدگی و تخلفات سبک تحلیل می‌کند. بیشتر تیم‌ها هر دو را اجرا می‌کنند: فرمت‌کننده برای چیدمان، لینتر برای بررسی‌های کیفیت عمیق‌تر.

🔒آیا چسباندن کد پایتون من در یک فرمت‌کننده آنلاین ایمن است؟

کد از طریق HTTPS به یک بک‌اند امن ارسال می‌شود و به صورت موقت برای فرمت‌بندی پردازش می‌شود. با این حال، به عنوان یک روش بهترین، باید از ارسال رمزهای عبور، کلیدهای API، داده‌های شخصی یا منطق تجاری بسیار محرمانه به هر ابزار آنلاین خودداری کنید. برای پروژه‌های حساس، به جای آن Black را به صورت محلی یا در محیط CI خود اجرا کنید.

⚙️آیا می‌توانم این سبک را در خط لوله CI خود ادغام کنم؟

بله. Black را در پروژه خود نصب کنید و آن را از طریق هوک‌های pre-commit، GitHub Actions، GitLab CI یا هر سیستم CI دیگری اجرا کنید. این اطمینان می‌دهد که هر شاخه و درخواست کشش قبل از ادغام به طور خودکار فرمت‌بندی شود.

🐍کدام نسخه‌های پایتون توسط قالب‌بندی سبک بلک پشتیبانی می‌شوند؟

بلک به طور منظم برای سینتکس مدرن پایتون به‌روزرسانی می‌شود، از جمله نوع‌دهی، رشته‌های فرمت‌شده، کلاس‌های داده و تطبیق الگوی ساختاری. هر دو پایتون و بلک را به‌روز نگه دارید تا از آخرین پشتیبانی سینتکس بهره‌مند شوید.

Pro Tips

Best Practice

ویرایشگر خود (VS Code, PyCharm, Neovim و غیره) را پیکربندی کنید تا یک قالب‌بند سبک بلک هنگام ذخیره اجرا شود تا فایل‌های شما همیشه قبل از کامیت تمیز باشند.

CI Tip

بلک را به هوک‌های پیش‌کامیت اضافه کنید تا هر کامیت به طور خودکار قالب‌بندی شود و مخزن شما در طول زمان سازگار بماند.

Best Practice

از ارسال اسرار، اعتبارنامه‌ها یا الگوریتم‌های اختصاصی به هر قالب‌بند آنلاین خودداری کنید. کدهای بسیار حساس را فقط در خطوط لوله قالب‌بندی محلی یا مبتنی بر CI نگه دارید.

Best Practice

این قالب‌بند را با یک لینتر (Ruff, Flake8, pylint) ترکیب کنید: قالب‌بند چیدمان را مدیریت می‌کند، در حالی که لینتر واردات استفاده نشده، پیچیدگی و خطاهای بالقوه را شناسایی می‌کند.

Best Practice

تنظیمات طول خط را در این ابزار، پیکربندی محلی بلک و CI هماهنگ کنید تا با سبک‌های متضاد مبارزه نکنید.

Additional Resources

Other Tools