فارسی
باز کردن در Telegram

پست 🐍 آموزش جامع Python — پروژه عملی شماره ۱

14 اکتبر 2026
P
Python Coding Academy
🐍 آموزش جامع Python — پروژه عملی شماره ۱ ساخت سیستم مدیریت کاربران با SQLite در این پروژه قرار است یک برنامه نسبتاً واقعی بسازیم که کاربران را در دیتابیس ذخیره کند، اطلاعاتشان را مدیریت کند و خطاها را ثبت کند. 🎯 هدف پروژه: ترکیب مفاهیمی که تا اینجا یاد گرفته‌ایم در یک برنامه کاربردی. 🔹 امکانات برنامه برنامه باید بتواند: کاربر جدید ثبت کند. تمام کاربران را نمایش دهد. کاربر را با شناسه پیدا کند. اطلاعات کاربر را ویرایش کند. کاربر را حذف کند. ورودی‌ها را اعتبارسنجی کند. خطاها را مدیریت و در فایل ثبت کند. اطلاعات را در SQLite نگهداری کند تا با بستن برنامه از بین نروند. 🔹 ساختار پروژه user_manager/ │ ├── main.py ├── database.py ├── user_repository.py ├── exceptions.py └── app.log وظیفه هر فایل: main.py — منوی برنامه و دریافت ورودی database.py — ایجاد اتصال به دیتابیس user_repository.py — عملیات CRUD exceptions.py — تعریف خطاهای اختصاصی app.log — ذخیره گزارش خطاها و رویدادها 🔹 مرحله اول: طراحی جدول جدول users باید این ستون‌ها را داشته باشد: ستون نوع محدودیت id INTEGER کلید اصلی username TEXT اجباری و یکتا age INTEGER بین ۱ تا ۱۲۰ از محدودیت‌های PRIMARY KEY، NOT NULL، UNIQUE و CHECK استفاده کن. 🔹 مرحله دوم: پیاده‌سازی Repository در کلاس UserRepository این متدها را پیاده‌سازی کن: create_table() add_user(username, age) get_all() get_by_id(user_id) update_user(user_id, username, age) delete_user(user_id) قوانین: نام کاربری نباید خالی باشد. نام کاربری تکراری نباید ثبت شود. سن باید عدد صحیح بین ۱ تا ۱۲۰ باشد. شناسه باید عدد صحیح مثبت باشد. برای تمام Queryهای دارای ورودی از Placeholder یعنی ? استفاده کن. 🔹 مرحله سوم: مدیریت خطا در فایل exceptions.py دست‌کم این خطاها را تعریف کن: class UserError(Exception): pass class InvalidUserError(UserError): pass class UserNotFoundError(UserError): pass class DuplicateUserError(UserError): pass خطاها باید متناسب با شرایط ایجاد شوند و در main.py به شکل مناسب مدیریت شوند. برای خطای تکراری بودن نام کاربری می‌توانی از sqlite3.IntegrityError استفاده کنی؛ اما فقط زمانی آن را به DuplicateUserError تبدیل کن که علت نقض محدودیت واقعاً تکراری بودن نام باشد. 🔹 مرحله چهارم: ثبت گزارش با logging رویدادهای مهم را در app.log ثبت کن: INFO User created INFO User updated INFO User deleted WARNING Invalid input ERROR Database operation failed اطلاعات حساس را در گزارش‌ها ذخیره نکن. 🔹 مرحله پنجم: منوی برنامه منوی زیر را پیاده‌سازی کن: ===== User Manager ===== 1. Add user 2. Show all users 3. Find user 4. Update user 5. Delete user 0. Exit برنامه باید تا زمانی که کاربر گزینه خروج را انتخاب نکرده، به اجرای منو ادامه دهد. ⚠️ قوانین مهم پروژه کد را بین فایل‌های مشخص‌شده تقسیم کن. از try/except برای مدیریت خطاهای مورد انتظار استفاده کن. اتصال دیتابیس را به‌درستی ببند. تراکنش‌ها را مدیریت کن تا تغییرات ناقص ثبت نشوند. از تکرار بی‌دلیل Queryها جلوگیری کن. اعتبارسنجی Python را در کنار محدودیت‌های SQLite انجام بده. 🎯 معیار تکمیل پروژه پروژه زمانی کامل است که بتوانی: دو کاربر متفاوت ثبت کنی. کاربر تکراری را رد کنی. اطلاعات یک کاربر را تغییر بدهی. کاربر مشخصی را حذف کنی. شناسه نامعتبر را مدیریت کنی. برنامه را ببندی و دوباره اجرا کنی، بدون اینکه اطلاعات قبلی از بین بروند. گزارش خطاها را در app.log مشاهده کنی. پست پروژه‌ای از دوره جامع Python 🐍
21 ·

در همان حوالی فید

PPython Coding Academy🐍 آموزش جامع Python — پست ۲۳۹ مدیریت خطاهای سفارشی در پروژه‌های Python در پست قبل یاد گرفتیم ورودی‌های Repository را اعتبارسنجی کنیم. حالا می‌خواهیم به‌جای استفPPython Coding Academy🐍 آموزش جامع Python — پست ۲۴۰ ثبت خطاها با ماژول logging در پست قبل با Exceptionهای اختصاصی آشنا شدیم. حالا می‌خواهیم یاد بگیریم چگونه اتفاقات مهم برنامه و خطاه
این پیام
PPython Coding Academyهیچ صحنه ای توی دنیا اندازه این صحنه که چیزی در حال لود شدن یا هر چیز دیگه ای روی اعصابم راه نمیرهPPython Coding Academy📢 اطلاعیه درباره روند انتشار آموزش‌های Python 🐍 دوستان عزیز، همراهان دوره جامع Python، با توجه به حجم مطالبی که تا اینجا در دوره منتشر شده، تصمیم گرفتیم فعلاً س
PPython Coding AcademyPython Coding Academy@PythonCodingAcademy · کانال · فناوری
30مشترک68پست در 30 روز
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما