خانه / درس ۶ مقدماتی: ماژولها و کتابخانهها در پایتون درس ۶ مقدماتی: ماژولها و کتابخانهها در پایتون 📅 ۱۴۰۴/۰۸/۱۸ ✍️ سجاد ⌛ 6 دقیقه مطالعه 👁️ 33 پایتون | Python مقدماتی 🗨️ 🤍 0 📤 0% ‹ بستن لیست دروس بازکردن لیست دروس پایتون | Python مقدماتی ▾ تا حالا شده بخوای یه کار پیچیده مثل محاسبه جذر یا تولید عدد تصادفی رو انجام بدی، اما نخوای کدش رو از صفر بنویسی؟ 🧩 ماژولها و کتابخانهها مثل جعبهابزارهای آماده پایتون هستن که کار رو راحت میکنن! برای مثال، میتونی با یه خط کد تاریخ امروز رو بگیری یا یه عدد تصادفی بسازی. تو این درس، با ماژولها و کتابخانههای پایتون آشنا میشی و یاد میگیری چطور ازشون استفاده کنی. بنابراین، اگر درسهای ۱ تا ۵ (متغیرها، شرطها، حلقهها، دادهساختارها، توابع و فایلها) رو یاد گرفتی، حالا آمادهای که کدت رو سریعتر و قویتر کنی! 🚀 با مثالهای واقعی، جداول مقایسه، ۱۲ تمرین و یه پروژه جذاب، این درس تو رو برای ساخت برنامههای متنوع آماده میکنه. بریم شروع کنیم! 🎉 ماژول چیه و چرا مهمه؟ 🧰 ماژول یه فایل پایتونیه که کدهای آماده (مثل توابع و متغیرها) رو در اختیارت قرار میده. برای مثال، ماژول math توابع ریاضی مثل جذر و توان رو داره. علاوه بر این، ماژولها باعث میشن: سادگی: کد کمتری مینویسی. استفاده مجدد: از کدهای آماده دیگران استفاده میکنی. نظم: پروژهت تمیز و سازمانیافته میمونه. به همین دلیل، ماژولها برای برنامهنویسی حرفهای ضروریان. برای استفاده، از import استفاده میکنی: کپیimport math print(math.sqrt(16)) # خروجی: ۴.۰ بنابراین، با import ماژول رو به برنامهت اضافه میکنی و با نقطه (.) به توابعش دسترسی داری. ماژول math: ابزار ریاضی 🧮 ماژول math برای محاسبات ریاضی عالیه. برای مثال، چند تابع پرکاربرد: تابع کارکرد مثال sqrt(x) جذر x math.sqrt(25) → ۵.۰ pow(x, y) x به توان y math.pow(2, 3) → ۸.۰ ceil(x) بالاترین عدد صحیح math.ceil(4.2) → ۵ به عنوان مثال: کپیimport math print(math.sqrt(9)) # 3.0 print(math.pi) # 3.141592653589793 💡 نکته: math.pi یه ثابت آماده برای عدد پیست. ماژول random: تصادف و شانس 🎲 ماژول random برای تولید اعداد یا انتخاب تصادفی مناسبه. برای مثال: کپیimport random print(random.randint(1, 10)) # عدد تصادفی بین ۱ تا ۱۰ به علاوه، چند تابع مهم: random.choice(lst): یه مورد تصادفی از لیست random.shuffle(lst): بههمریختن لیست random.random(): عدد اعشاری تصادفی بین ۰ تا ۱ به عنوان مثال: کپیimport random items = ["سیب", "موز", "پرتقال"] print(random.choice(items)) # یه میوه تصادفی random.shuffle(items) print(items) # لیست بههمریخته 💡 نکته: هربار که کد رو اجرا کنی، خروجی random فرق میکنه! ماژول datetime: کار با تاریخ و زمان ⏰ ماژول datetime برای مدیریت تاریخ و زمان کاربردیه. برای مثال: کپیfrom datetime import datetime now = datetime.now() print(now) # تاریخ و زمان فعلی علاوه بر این، میتونی تاریخ رو فرمت کنی: کپیfrom datetime import datetime today = datetime.now() print(today.strftime("%Y-%m-%d")) # مثل ۲۰۲۵-۱۱-۰۹ 💡 نکته: strftime برای فرمت دلخواه تاریخ (مثل سال-ماه-روز) استفاده میشه. ماژول os: کار با سیستمعامل 💾 ماژول os برای کار با فایلها و پوشهها مناسبه. برای مثال: کپیimport os print(os.getcwd()) # مسیر فعلی پروژه به علاوه، چند تابع مهم: os.listdir(): لیست فایلهای پوشه os.mkdir(name): ساخت پوشه os.remove(file): حذف فایل برای مثال: کپیimport os os.mkdir("test_folder") # ساخت پوشه print(os.listdir()) # نمایش فایلها و پوشهها 💡 هشدار: با os.remove مراقب باش، چون فایل رو برای همیشه حذف میکنه! ترکیب با درسهای قبلی: ماژولها و کدهای تو 📦 برای مثال، میتونی ماژولها رو با توابع (درس ۴) و فایلها (درس ۵) ترکیب کنی: کپیimport random def random_grade(): return random.randint(0, 20) grades = [random_grade() for _ in range(5)] with open("grades.txt", "w") as file: for grade in grades: file.write(f"{grade}\n") بنابراین، ماژولها کدهای درسهای قبلی رو قویتر میکنن. مثالهای عملی: دنیای واقعی 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. محاسبه مساحت دایره: کپیimport math def circle_area(radius): return math.pi * math.pow(radius, 2) radius = float(input("شعاع دایره: ")) print(f"مساحت: {circle_area(radius):.2f}") ۲. بازی حدس عدد: کپیimport random def guess_game(): number = random.randint(1, 10) guess = int(input("یه عدد بین ۱ تا ۱۰ حدس بزن: ")) if guess == number: print("آفرین! درست حدس زدی!") else: print(f"اشتباه! عدد {number} بود.") guess_game() ۳. ثبت تاریخ ورود: کپیfrom datetime import datetime def log_entry(filename="log.txt"): with open(filename, "a") as file: file.write(f"ورود: {datetime.now()}\n") log_entry() به همین دلیل، این مثالها درسهای قبلی رو با ماژولها ترکیب میکنن. کدها رو توی lesson6_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو کار با ماژولها شایعن: خطا علت راهحل ModuleNotFoundError ماژول وارد نشده یا نصب نیست املا رو چک کن یا ماژول رو نصب کن (مثل pip install) AttributeError دسترسی به تابع یا ویژگی ناموجود نام تابع یا ویژگی رو با مستندات چک کن FileNotFoundError فایل یا پوشه وجود نداره مسیر رو با os.getcwd() چک کن برای مثال: کپیimport math print(math.sqr(16)) # خطا: AttributeError # حل: print(math.sqrt(16)) # درست تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: تابعی بنویس که با math مساحت مستطیل رو حساب کنه. برنامهای که عدد تصادفی بین ۱ تا ۱۰۰ چاپ کنه. تابعی که تاریخ امروز رو به فرمت روز/ماه/سال چاپ کنه. برنامهای که فایلهای پوشه فعلی رو لیست کنه. تابعی که با random.choice یه رنگ تصادفی از لیست انتخاب کنه. برنامهای که یه لیست رو با random.shuffle بههم بریزه. تابعی که فاصله دو نقطه رو با فرمول جذر (درس ۱) و math حساب کنه. برنامهای که زمان فعلی رو توی فایل ذخیره کنه. تابعی که بررسی کنه پوشه وجود داره یا نه (os.path.exists). برنامه بازی حدس عدد با ۳ شانس. تابعی که عدد رو به نزدیکترین عدد صحیح گرد کنه. برنامهای که یه دیکشنری رو با random پر کنه و توی فایل ذخیره کنه. 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: تاس دیجیتال با تاریخچه 🎲 برای مثال، بیایم یه برنامه تاس دیجیتال بسازیم که نتیجه رو ذخیره کنه: عدد تصادفی بین ۱ تا ۶ تولید کن. نتیجه و زمان رو توی فایل ذخیره کن. امکان نمایش تاریخچه. کپیimport random from datetime import datetime def roll_dice(filename="dice_history.txt"): roll = random.randint(1, 6) with open(filename, "a") as file: file.write(f"{roll} - {datetime.now()}\n") return roll def show_history(filename="dice_history.txt"): try: with open(filename, "r") as file: print("تاریخچه تاس:") for line in file: print(line.strip()) except FileNotFoundError: print("هیچ تاریخچهای نیست!") while True: print("\n=== تاس دیجیتال ===") action = input("پرتاب (r)، تاریخچه (h)، خروج (q): ") if action == "q": break elif action == "r": print(f"نتیجه تاس: {roll_dice()}") elif action == "h": show_history() print("خداحافظ!") 💡 تست کن: تاس بنداز، تاریخچه رو چک کن و فایل dice_history.txt رو ببین. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: ماژول چطور پیدا کنم؟ مستندات پایتون یا help(ماژول) رو چک کن. چرا random هربار فرق میکنه؟ چون تصادفیه! برای نتایج ثابت از random.seed() استفاده کن. چطور ماژول نصب کنم؟ با pip install نام_ماژول (بعداً یاد میگیری). خطای ماژول چطور رفع کنم؟ املا و نصب ماژول رو چک کن. جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس ماژولها و کتابخانههای پایتون رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی مسلط شدی. بنابراین، حالا میتونی از ابزارهای آماده برای سریعتر کردن کدهات استفاده کنی. علاوه بر این، درس بعدی (برنامهنویسی شیءگرا) بهت یاد میده چطور اشیاء و کلاسها بسازی. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن تا پیشرفتت رو نشون بدی! 😎 ← درس قبلی: درس ۵ مقدماتی: مدیریت خطاها و کار با فایلها در پایتون درس بعدی: درس ۷ مقدماتی: برنامهنویسی شیءگرا در پایتون → برچسبها: datetime پایتونmath پایتونos پایتونpythonpython modulesrandom پایتونبرنامهنویسی مبتدیپایتونکتابخانه پایتونماژول پایتون ارسال نظر جدید لغو پاسخ ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.
تا حالا شده بخوای یه کار پیچیده مثل محاسبه جذر یا تولید عدد تصادفی رو انجام بدی، اما نخوای کدش رو از صفر بنویسی؟ 🧩 ماژولها و کتابخانهها مثل جعبهابزارهای آماده پایتون هستن که کار رو راحت میکنن! برای مثال، میتونی با یه خط کد تاریخ امروز رو بگیری یا یه عدد تصادفی بسازی. تو این درس، با ماژولها و کتابخانههای پایتون آشنا میشی و یاد میگیری چطور ازشون استفاده کنی. بنابراین، اگر درسهای ۱ تا ۵ (متغیرها، شرطها، حلقهها، دادهساختارها، توابع و فایلها) رو یاد گرفتی، حالا آمادهای که کدت رو سریعتر و قویتر کنی! 🚀 با مثالهای واقعی، جداول مقایسه، ۱۲ تمرین و یه پروژه جذاب، این درس تو رو برای ساخت برنامههای متنوع آماده میکنه. بریم شروع کنیم! 🎉 ماژول چیه و چرا مهمه؟ 🧰 ماژول یه فایل پایتونیه که کدهای آماده (مثل توابع و متغیرها) رو در اختیارت قرار میده. برای مثال، ماژول math توابع ریاضی مثل جذر و توان رو داره. علاوه بر این، ماژولها باعث میشن: سادگی: کد کمتری مینویسی. استفاده مجدد: از کدهای آماده دیگران استفاده میکنی. نظم: پروژهت تمیز و سازمانیافته میمونه. به همین دلیل، ماژولها برای برنامهنویسی حرفهای ضروریان. برای استفاده، از import استفاده میکنی: کپیimport math print(math.sqrt(16)) # خروجی: ۴.۰ بنابراین، با import ماژول رو به برنامهت اضافه میکنی و با نقطه (.) به توابعش دسترسی داری. ماژول math: ابزار ریاضی 🧮 ماژول math برای محاسبات ریاضی عالیه. برای مثال، چند تابع پرکاربرد: تابع کارکرد مثال sqrt(x) جذر x math.sqrt(25) → ۵.۰ pow(x, y) x به توان y math.pow(2, 3) → ۸.۰ ceil(x) بالاترین عدد صحیح math.ceil(4.2) → ۵ به عنوان مثال: کپیimport math print(math.sqrt(9)) # 3.0 print(math.pi) # 3.141592653589793 💡 نکته: math.pi یه ثابت آماده برای عدد پیست. ماژول random: تصادف و شانس 🎲 ماژول random برای تولید اعداد یا انتخاب تصادفی مناسبه. برای مثال: کپیimport random print(random.randint(1, 10)) # عدد تصادفی بین ۱ تا ۱۰ به علاوه، چند تابع مهم: random.choice(lst): یه مورد تصادفی از لیست random.shuffle(lst): بههمریختن لیست random.random(): عدد اعشاری تصادفی بین ۰ تا ۱ به عنوان مثال: کپیimport random items = ["سیب", "موز", "پرتقال"] print(random.choice(items)) # یه میوه تصادفی random.shuffle(items) print(items) # لیست بههمریخته 💡 نکته: هربار که کد رو اجرا کنی، خروجی random فرق میکنه! ماژول datetime: کار با تاریخ و زمان ⏰ ماژول datetime برای مدیریت تاریخ و زمان کاربردیه. برای مثال: کپیfrom datetime import datetime now = datetime.now() print(now) # تاریخ و زمان فعلی علاوه بر این، میتونی تاریخ رو فرمت کنی: کپیfrom datetime import datetime today = datetime.now() print(today.strftime("%Y-%m-%d")) # مثل ۲۰۲۵-۱۱-۰۹ 💡 نکته: strftime برای فرمت دلخواه تاریخ (مثل سال-ماه-روز) استفاده میشه. ماژول os: کار با سیستمعامل 💾 ماژول os برای کار با فایلها و پوشهها مناسبه. برای مثال: کپیimport os print(os.getcwd()) # مسیر فعلی پروژه به علاوه، چند تابع مهم: os.listdir(): لیست فایلهای پوشه os.mkdir(name): ساخت پوشه os.remove(file): حذف فایل برای مثال: کپیimport os os.mkdir("test_folder") # ساخت پوشه print(os.listdir()) # نمایش فایلها و پوشهها 💡 هشدار: با os.remove مراقب باش، چون فایل رو برای همیشه حذف میکنه! ترکیب با درسهای قبلی: ماژولها و کدهای تو 📦 برای مثال، میتونی ماژولها رو با توابع (درس ۴) و فایلها (درس ۵) ترکیب کنی: کپیimport random def random_grade(): return random.randint(0, 20) grades = [random_grade() for _ in range(5)] with open("grades.txt", "w") as file: for grade in grades: file.write(f"{grade}\n") بنابراین، ماژولها کدهای درسهای قبلی رو قویتر میکنن. مثالهای عملی: دنیای واقعی 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. محاسبه مساحت دایره: کپیimport math def circle_area(radius): return math.pi * math.pow(radius, 2) radius = float(input("شعاع دایره: ")) print(f"مساحت: {circle_area(radius):.2f}") ۲. بازی حدس عدد: کپیimport random def guess_game(): number = random.randint(1, 10) guess = int(input("یه عدد بین ۱ تا ۱۰ حدس بزن: ")) if guess == number: print("آفرین! درست حدس زدی!") else: print(f"اشتباه! عدد {number} بود.") guess_game() ۳. ثبت تاریخ ورود: کپیfrom datetime import datetime def log_entry(filename="log.txt"): with open(filename, "a") as file: file.write(f"ورود: {datetime.now()}\n") log_entry() به همین دلیل، این مثالها درسهای قبلی رو با ماژولها ترکیب میکنن. کدها رو توی lesson6_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو کار با ماژولها شایعن: خطا علت راهحل ModuleNotFoundError ماژول وارد نشده یا نصب نیست املا رو چک کن یا ماژول رو نصب کن (مثل pip install) AttributeError دسترسی به تابع یا ویژگی ناموجود نام تابع یا ویژگی رو با مستندات چک کن FileNotFoundError فایل یا پوشه وجود نداره مسیر رو با os.getcwd() چک کن برای مثال: کپیimport math print(math.sqr(16)) # خطا: AttributeError # حل: print(math.sqrt(16)) # درست تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: تابعی بنویس که با math مساحت مستطیل رو حساب کنه. برنامهای که عدد تصادفی بین ۱ تا ۱۰۰ چاپ کنه. تابعی که تاریخ امروز رو به فرمت روز/ماه/سال چاپ کنه. برنامهای که فایلهای پوشه فعلی رو لیست کنه. تابعی که با random.choice یه رنگ تصادفی از لیست انتخاب کنه. برنامهای که یه لیست رو با random.shuffle بههم بریزه. تابعی که فاصله دو نقطه رو با فرمول جذر (درس ۱) و math حساب کنه. برنامهای که زمان فعلی رو توی فایل ذخیره کنه. تابعی که بررسی کنه پوشه وجود داره یا نه (os.path.exists). برنامه بازی حدس عدد با ۳ شانس. تابعی که عدد رو به نزدیکترین عدد صحیح گرد کنه. برنامهای که یه دیکشنری رو با random پر کنه و توی فایل ذخیره کنه. 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: تاس دیجیتال با تاریخچه 🎲 برای مثال، بیایم یه برنامه تاس دیجیتال بسازیم که نتیجه رو ذخیره کنه: عدد تصادفی بین ۱ تا ۶ تولید کن. نتیجه و زمان رو توی فایل ذخیره کن. امکان نمایش تاریخچه. کپیimport random from datetime import datetime def roll_dice(filename="dice_history.txt"): roll = random.randint(1, 6) with open(filename, "a") as file: file.write(f"{roll} - {datetime.now()}\n") return roll def show_history(filename="dice_history.txt"): try: with open(filename, "r") as file: print("تاریخچه تاس:") for line in file: print(line.strip()) except FileNotFoundError: print("هیچ تاریخچهای نیست!") while True: print("\n=== تاس دیجیتال ===") action = input("پرتاب (r)، تاریخچه (h)، خروج (q): ") if action == "q": break elif action == "r": print(f"نتیجه تاس: {roll_dice()}") elif action == "h": show_history() print("خداحافظ!") 💡 تست کن: تاس بنداز، تاریخچه رو چک کن و فایل dice_history.txt رو ببین. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: ماژول چطور پیدا کنم؟ مستندات پایتون یا help(ماژول) رو چک کن. چرا random هربار فرق میکنه؟ چون تصادفیه! برای نتایج ثابت از random.seed() استفاده کن. چطور ماژول نصب کنم؟ با pip install نام_ماژول (بعداً یاد میگیری). خطای ماژول چطور رفع کنم؟ املا و نصب ماژول رو چک کن. جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس ماژولها و کتابخانههای پایتون رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی مسلط شدی. بنابراین، حالا میتونی از ابزارهای آماده برای سریعتر کردن کدهات استفاده کنی. علاوه بر این، درس بعدی (برنامهنویسی شیءگرا) بهت یاد میده چطور اشیاء و کلاسها بسازی. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن تا پیشرفتت رو نشون بدی! 😎 ← درس قبلی: درس ۵ مقدماتی: مدیریت خطاها و کار با فایلها در پایتون درس بعدی: درس ۷ مقدماتی: برنامهنویسی شیءگرا در پایتون → برچسبها: datetime پایتونmath پایتونos پایتونpythonpython modulesrandom پایتونبرنامهنویسی مبتدیپایتونکتابخانه پایتونماژول پایتون