در قطعهکد زیر با یکی از رفتارهای مهم و گاهی خطرناک در Python روبهرو هستیم: آرگومان پیشفرض قابلتغییر (Mutable Default Argument).
خروجی اجرای این کد (چاپشده در انتهای برنامه) چیست؟
پاسخ را فقط به صورت خروجی نهایی تابع
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
خروجی اجرای این کد (چاپشده در انتهای برنامه) چیست؟
def append_item(item, data=[]):
data.append(item)
return data
x = append_item(1)
y = append_item(2)
z = append_item(3, data=[])
w = append_item(4)
print(x)
print(y)
print(z)
print(w)
پاسخ را فقط به صورت خروجی نهایی تابع
printها (به ترتیب هر خط)، بنویسید.🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
❤3👍2
✅ شرطهای تمیزتر در Python با
خیلی وقتها توی if ها چند شرط پشتسرهم با
ایده اصلی:
-
-
یک مثال واقعی: اعتبارسنجی ورودی کاربر 👇
بهجای چند if تو در تو، با یک
مرجع: Python docs - any & all
امتحان استفاده از
🔖 #Python #پایتون #Python #any #all #conditions #clean_code #validation #tips
👤 Developix
💎 Channel: @DevelopixPython
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
جنگو (Django): فریمورک وب فولاستک برای پایتون 🚀
اگر دنبال ساخت وباپلیکیشن جدی با Python هستی، Django یکی از جدیترین گزینههاست. جنگو بهت کمک میکند خیلی سریع از ایده برسی به محصول قابلاستفاده، بدون اینکه چرخ را از نو اختراع کنی.
چرا Django؟
• ORM قدرتمند برای کار با دیتابیس بدون نوشتن مستقیم SQL
• پنل ادمین آماده برای مدیریت دیتا 💻
• سیستم auth داخلی (کاربر، لاگین، permission)
• ساختار استاندارد و opinionated برای پروژههای بزرگ
• جامعه کاربری بزرگ و داکیومنتیشن عالی
نصب و شروع سریع
برای وباپلیکیشنهای شرکتی، پنل ادمین داخلی جنگو زمان توسعه را بهشدت کم میکند؛ مخصوصاً وقتی CRUD زیاد داری و نمیخواهی برای هر چیز یک صفحه custom بنویسی.
مستندات رسمی:
docs.djangoproject.com
سورسکد:
github.com/django/django
با یک پروژه کوچک شروع کن؛ مثلاً یک وبلاگ ساده یا داشبورد ادمین، و کمکم سراغ featureهای جدیتر برو. 😎
🔖 #Python #پایتون #Python #Django #Web #Backend #ORM #Admin
👤 Developix
💎 Channel: @DevelopixPython
اگر دنبال ساخت وباپلیکیشن جدی با Python هستی، Django یکی از جدیترین گزینههاست. جنگو بهت کمک میکند خیلی سریع از ایده برسی به محصول قابلاستفاده، بدون اینکه چرخ را از نو اختراع کنی.
چرا Django؟
• ORM قدرتمند برای کار با دیتابیس بدون نوشتن مستقیم SQL
• پنل ادمین آماده برای مدیریت دیتا 💻
• سیستم auth داخلی (کاربر، لاگین، permission)
• ساختار استاندارد و opinionated برای پروژههای بزرگ
• جامعه کاربری بزرگ و داکیومنتیشن عالی
نصب و شروع سریع
pip install django
django-admin startproject mysite
cd mysite
python manage.py startapp blog
python manage.py runserver
برای وباپلیکیشنهای شرکتی، پنل ادمین داخلی جنگو زمان توسعه را بهشدت کم میکند؛ مخصوصاً وقتی CRUD زیاد داری و نمیخواهی برای هر چیز یک صفحه custom بنویسی.
مستندات رسمی:
docs.djangoproject.com
سورسکد:
github.com/django/django
با یک پروژه کوچک شروع کن؛ مثلاً یک وبلاگ ساده یا داشبورد ادمین، و کمکم سراغ featureهای جدیتر برو. 😎
🔖 #Python #پایتون #Python #Django #Web #Backend #ORM #Admin
👤 Developix
💎 Channel: @DevelopixPython
❤2👍2
خروجی اجرای این کد در Python چیست؟
به رفتار تابع
خروجی دقیق این برنامه چیست؟
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
به رفتار تابع
sorted با پارامتر key و پایداری (stability) مرتبسازی دقت کنید.data = [3, 1, 2, 1]
calls = []
def key_fn(x):
calls.append(x)
return 0
result = sorted(data, key=key_fn)
print("calls:", calls)
print("result:", result)
خروجی دقیق این برنامه چیست؟
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython