خانه / آموزش‌ها / راهنمای جامع PEP 8 و استایل‌دهی کد پایتون

راهنمای جامع PEP 8 و استایل‌دهی کد پایتون

🐍 HomeOfPython
|
📅 1404/10/22

سطح مقدماتی (Beginner Level)

مهم‌ترین ویژگی پایتون، خوانایی آن است. PEP 8 (Python Enhancement Proposal 8) سندی است که خالق پایتون و جامعه توسعه‌دهندگان آن را تدوین کرده‌اند تا همه کدهای پایتون در سراسر دنیا ظاهری یکسان و استاندارد داشته باشند. رعایت این اصول باعث می‌شود کد شما حرفه‌ای به نظر برسد و همکاری تیمی آسان‌تر شود.

۱. تو‌رفتگی (Indentation)

در پایتون، تو‌رفتگی فقط برای زیبایی نیست؛ بلکه بخشی از سینتکس است. طبق PEP 8، باید همیشه از ۴ فاصله (Space) برای هر سطح تو‌رفتگی استفاده کنید.

  • نکته: هرگز از Tab و Space به صورت ترکیبی استفاده نکنید.
Python
python
# Example 2: Incorrect Indentation (Visual Example)
# (Do not use this style)
def bad_style():
  print("Two spaces?")      # Bad
   print("Three spaces?")   # SyntaxError often

۲. نام‌گذاری متغیرها و توابع (Naming Conventions)

پایتون قواعد مشخصی برای نام‌گذاری دارد:

  1. Variable & Function: استفاده از snake_case (حروف کوچک و زیرخط).
  2. Constant: استفاده از UPPER_CASE (حروف بزرگ و زیرخط) برای مقادیر ثابت.
  3. Class: استفاده از PascalCase (حرف اول هر کلمه بزرگ، بدون زیرخط).
Python

۳. فاصله سفید (Whitespace)

استفاده صحیح از فاصله باعث تنفس کد می‌شود.

  • اطراف عملگرهای انتساب (=) و مقایسه (==, <, >) یک فاصله بگذارید.
  • بعد از کاما (,) یک فاصله بگذارید.
Python

سطح پیشرفته (Professional Level)

در سطح حرفه‌ای، رعایت PEP 8 فراتر از ظاهر است و به نگهداری و دیباگ کد کمک می‌کند. اینجا با جزئیات دقیق‌تر و ابزارهای کمکی آشنا می‌شویم.

۱. سازماندهی ایمپورت‌ها (Imports Organization)

ایمپورت‌ها باید همیشه در بالای فایل باشند و به ترتیب زیر گروه‌بندی شوند:

  1. کتابخانه‌های استاندارد (Standard Library) مثل os, sys.
  2. کتابخانه‌های شخص ثالث (Third-party) مثل requests, pandas.
  3. ماژول‌های محلی پروژه (Local Application).

بین هر گروه باید یک خط خالی فاصله باشد.

python
# Example 5: Proper Import Structure (Static)
import os
import sys

import requests
from flask import Flask

from my_project import config
from my_project.utils import helper

def app_start():
    pass

۲. طول خطوط (Line Length)

استاندارد کلاسیک PEP 8 پیشنهاد می‌کند طول هر خط کد از ۷۹ کاراکتر بیشتر نشود. این کار باعث می‌شود بتوانید چند فایل را در کنار هم در ادیتور باز کنید.

  • اگر خط طولانی شد، می‌توانید از پرانتز () برای شکستن خط استفاده کنید (به جای Backslash \).
Python

۳. نادیده گرفتن PEP 8 (Pragmatism)

یک قانون طلایی در PEP 8 وجود دارد: "A Foolish Consistency is the Hobgoblin of Little Minds". اگر رعایت یک قانون باعث ناخوانایی کد می‌شود یا با کدهای قدیمی پروژه (Legacy Code) تضاد شدید دارد، می‌توانید آن را نادیده بگیرید. اما این کار باید دلیل موجهی داشته باشد.

۴. ابزارهای خودکارسازی (Linters & Formatters)

برنامه‌نویسان حرفه‌ای استایل را دستی چک نمی‌کنند. از ابزارها استفاده کنید:

  • Black: فرمتر سخت‌گیر که کد را خودکار بازنویسی می‌کند.
  • Flake8: لینتر (Linter) که خطاها را گزارش می‌دهد.
  • isort: مرتب‌سازی خودکار ایمپورت‌ها.
Python