بی آکادمی
آموزش HTML
آموزش CSS
جاوااسکریپت
آموزش SQL
آموزش MySQL
آموزش PHP
داکر دسکتاپ

آموزش جامع ثابت‌ها و کنوانسیون‌های نامگذاری در پایتون


🎯 اهداف یادگیری

  • درک مفهوم ثابت‌ها در پایتون و تفاوت آن با سایر زبان‌ها
  • آشنایی با کنوانسیون‌های نامگذاری ثابت‌ها در پایتون
  • یادگیری بهترین روش‌ها برای تعریف و استفاده از ثابت‌ها
  • آشنایی با ماژول const برای ایجاد ثابت‌های واقعی
  • یادگیری تفاوت بین ثابت‌ها و متغیرها در عمل

📌 مفهوم ثابت‌ها در پایتون

برخلاف بسیاری از زبان‌های برنامه‌نویسی، پایتون به صورت built-in از ثابت‌ها (constants) پشتیبانی نمی‌کند. اما برنامه‌نویسان از کنوانسیون‌های نامگذاری برای ایجاد ثابت‌های نمادین استفاده می‌کنند.

python
# تعریف ثابت با استفاده از کنوانسیون نامگذاری (حروف بزرگ)
PI = 3.14159
MAX_CONNECTIONS = 100
DATABASE_URL = "postgresql://localhost:5432/mydb"
# این یک کنوانسیون است، نه یک محدودیت واقعی
PI = 3.14 # از نظر فنی امکان‌پذیر است، اما نباید انجام شود!

ویژگی‌های ثابت‌های نمادین در پایتون:

  • فقط یک کنوانسیون: پایتون واقعاً از ثابت‌ها پشتیبانی نمی‌کند
  • حروف بزرگ: تمام حروف نام ثابت باید بزرگ باشد
  • Underline برای جدا کردن: از _ برای جدا کردن کلمات استفاده می‌شود
  • قرارگیری در ماژول‌ها: معمولاً ثابت‌ها در بالای فایل یا در ماژول جداگانه تعریف می‌شوند

📌 کنوانسیون‌های نامگذاری ثابت‌ها

برای ایجاد ثابت‌های معنادار و قابل فهم، از این قوانین پیروی کنید:

python
# ✅ نام‌های صحیح برای ثابت‌ها
API_KEY = "your_api_key_here"
DEFAULT_TIMEOUT = 30
MAX_FILE_SIZE = 1024 * 1024 # 1MB
SUPPORTED_LANGUAGES = ["fa", "en", "es"]
# ❌ نام‌های نادرست (این‌ها متغیر هستند، نه ثابت)
api_key = "your_api_key_here"
defaultTimeout = 30
MaxFileSize = 1048576

قوانین نامگذاری ثابت‌ها:

  • همه حروف بزرگ: LIKE_THIS
  • استفاده از underline: برای جدا کردن کلمات
  • نام‌های توصیفی: باید هدف ثابت را به وضوح بیان کنند
  • عدم تغییر مقدار: پس از تعریف، مقدار نباید تغییر کند

📌 ثابت‌های رایج در برنامه‌نویسی

برخی از ثابت‌هایی که معمولاً در برنامه‌ها استفاده می‌شوند:

python
# ثابت‌های ریاضی
PI = 3.141592653589793
E = 2.718281828459045
GOLDEN_RATIO = 1.618033988749895
# ثابت‌های پیکربندی
DATABASE_NAME = "my_app_db"
MAX_USERS = 1000
DEFAULT_CURRENCY = "IRR"
SUPPORT_EMAIL = "support@example.com"
# ثابت‌های وضعیت
STATUS_ACTIVE = "active"
STATUS_INACTIVE = "inactive"
STATUS_PENDING = "pending"

📌 ایجاد ماژول ثابت‌ها

برای سازماندهی بهتر، ثابت‌ها را در یک فایل جداگانه قرار دهید:

python
# 📁 constants.py
# ثابت‌های مربوط به پایگاه داده
DB_HOST = "localhost"
DB_PORT = 5432
DB_NAME = "my_database"
# ثابت‌های مربوط به API
API_VERSION = "v1"
MAX_RETRIES = 3
TIMEOUT = 30
# ثابت‌های پیام‌ها
WELCOME_MESSAGE = "خوش آمدید به برنامه ما!"
ERROR_404 = "صفحه مورد نظر یافت نشد"
python
# 📁 main.py
import constants
# استفاده از ثابت‌ها
print(constants.WELCOME_MESSAGE)
print(f"اتصال به پایگاه داده در پورت {constants.DB_PORT}")

📌 ایجاد ثابت‌های واقعی با ماژول const

اگر نیاز به ثابت‌های واقعی دارید، می‌توانید از ماژول const استفاده کنید:

python
from const import Constant
# تعریف ثابت واقعی
class AppConstants(Constant):
PI = 3.14159
MAX_USERS = 1000
API_KEY = "secret_key_123"
# استفاده از ثابت‌ها
print(AppConstants.PI) # خروجی: 3.14159
# ❌ این خطا ایجاد می‌کند
try:
AppConstants.PI = 3.14 # خطا: نمی‌توان ثابت را تغییر داد
except AttributeError as e:
print(f"خطا: {e}")

نصب ماژول const:

bash
pip install const

📌 تفاوت ثابت‌ها و متغیرها در عمل

درک تفاوت این دو مفهوم بسیار مهم است:

python
# ✨ ثابت (کنوانسیون)
COMPANY_NAME = "شرکت نمونه"
TAX_RATE = 0.09
# 🔄 متغیر
user_name = "رضا محمدی"
user_age = 25
is_active = True
# تغییر متغیرها ✅ (مجاز)
user_name = "علی حسینی"
user_age = 26
# تغییر ثابت‌ها ❌ (نادرست - فقط برای نمونه نمایش داده شده)
TAX_RATE = 0.10 # این کار نباید انجام شود!

تفاوت‌های کلیدی:

  • ثابت‌ها: مقادیر ثابت و تغییرناپذیر در طول اجرای برنامه
  • متغیرها: مقادیر تغییرپذیر که می‌توانند در طول برنامه به روز شوند
  • نامگذاری: ثابت‌ها با حروف بزرگ، متغیرها با حروف کوچک
  • هدف: ثابت‌ها برای مقادیر ثابت، متغیرها برای داده‌های پویا