TGViewer
| کانال توسعه‌دهندگان پایتون | | کانال توسعه‌دهندگان پایتون | @developixpython · 7.69K subscribers
Post #165 2.21K
✅ شرط‌های تمیزتر در Python با any و all 🧠

خیلی وقت‌ها توی if ها چند شرط پشت‌سرهم با and و or می‌نویسیم و کد شلوغ می‌شود. دو تابع ساده و خیلی Pythonic برای تمیز کردن این شرط‌ها داریم: any و all.

ایده اصلی:
- any(iterable) اگر حداقل یک مقدار True باشد، True برمی‌گرداند.
- all(iterable) فقط وقتی همه مقادیر True باشند، True برمی‌گرداند.

یک مثال واقعی: اعتبارسنجی ورودی کاربر 👇

def is_valid_user(data: dict) -> bool:
required_keys = ["username", "email", "password"]

# همه فیلدها باید وجود داشته باشند و خالی نباشند
return all(
key in data and isinstance(data[key], str) and data[key].strip()
for key in required_keys
)

user = {"username": "ali", "email": "", "password": "123"}
print(is_valid_user(user)) # False


به‌جای چند if تو در تو، با یک all هم خوانایی بهتر می‌شود هم خطاهای منطقی کمتر می‌شود. برای چک کردن اینکه «حداقل یکی» برقرار باشد، از any استفاده می‌شود.

مرجع: Python docs - any & all

امتحان استفاده از any و all در شرط‌های قدیمی کد، کدبیس را تمیزتر و قابل‌درک‌تر می‌کند. 😉

🔖 #Python #پایتون #Python #any #all #conditions #clean_code #validation #tips

👤 Developix

💎 Channel: @DevelopixPython
  • 👍 3
  • ❤ 1
More from @developixpython
  1. Sep 30, 2026💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.141.1 به 0.142.2 🔖 #fastap…
  2. Sep 8, 2026آرگومان پیش‌فرض لیست؛ باگ خفن ولی بی‌سر‌و‌صدا 😅 خیلی‌ها (حتی حرفه‌ای‌ها) یه زمانی این سوت…
  3. Sep 6, 2026🔥 پروژه: مهارت‌های تحقیق آکادمیک با Claude Code اگر برای پروژه‌های پایتونی مقاله، مستندات…
  4. Aug 24, 2026خیلی وقت‌ها با باگ‌های عجیب روبه‌رو می‌شویم که فقط به خاطر یک فاصلهٔ اضافی یا خط‌جدید ته ر…
  5. Aug 12, 2026🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP اس…
  6. Aug 9, 2026مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →