Kahibaro
Discord Login Register

کتابخانه‌های استاندارد

مروری بر کتابخانهٔ استاندارد پایتون

در این بخش فرض می‌کنیم با مفهوم کلی «کتابخانه» و «وارد کردن ماژول‌ها» آشنا شده‌اید. این‌جا تمرکز ما روی چیزی است که به آن کتابخانهٔ استاندارد پایتون می‌گویند: مجموعه‌ای از ماژول‌ها که همراه خود پایتون نصب می‌شوند و بدون نصب چیز اضافی می‌توانید از آن‌ها استفاده کنید.

در ادامه، ایدهٔ کلی کتابخانهٔ استاندارد را توضیح می‌دهیم و بعد، قبل از رفتن به زیر‌بخش‌های math، random و datetime، چند نمونهٔ مهم دیگر را خیلی کوتاه معرفی می‌کنیم تا تصویر کلی‌تری بگیرید.

کتابخانهٔ استاندارد یعنی چه؟

وقتی پایتون را نصب می‌کنید، فقط «هستهٔ زبان» را دریافت نمی‌کنید؛ بلکه یک مجموعهٔ بزرگ از ماژول‌ها هم همراه آن می‌آید که به آن‌ها کتابخانهٔ استاندارد (Standard Library) می‌گویند.

ویژگی‌های مهم کتابخانهٔ استاندارد:

ایدهٔ اصلی این است:
به‌جای این‌که همه‌چیز را از صفر بنویسید، اول در کتابخانهٔ استاندارد بگردید؛ اغلب «چرخ قبلاً اختراع شده است» و فقط باید از آن استفاده کنید.

ساختار کلی استفاده از ماژول‌های استاندارد

در اکثر مواقع، برای استفاده از یک ماژول استاندارد فقط کافی است آن را import کنید. چند الگوی رایج:

  import math
  print(math.pi)
  from math import sqrt
  print(sqrt(16))
  import datetime as dt
  today = dt.date.today()
  print(today)

در زیر‌بخش‌های بعدی این فصل، برای ماژول‌های math، random و datetime نمونه‌های عملی‌تری خواهید دید؛ این‌جا روی مرور کلی بقیهٔ بخش‌های مهم کتابخانهٔ استاندارد تمرکز می‌کنیم.

دسته‌بندی کلی ماژول‌های استاندارد

کتابخانهٔ استاندارد ده‌ها ماژول دارد. لازم نیست همه را حفظ کنید؛ مهم این است بدانید چه نوع کارهایی را پوشش می‌دهد تا وقتی نیازی داشتید، بتوانید آن را پیدا کنید.

۱. کار با سیستم‌عامل و فایل‌ها

این مجموعه کمک می‌کند با فایل‌ها، پوشه‌ها و محیط سیستم‌عامل کار کنید.

نمونهٔ ساده:

  import os
  print(os.getcwd())          # مسیر فعلی
  print(os.listdir("."))      # فایل‌های پوشهٔ فعلی
  from pathlib import Path
  p = Path(".")
  for item in p.iterdir():
      print(item)

این ماژول‌ها در فصل «خودکارسازی» و «کار با فایل‌ها و پوشه‌ها» کاربرد زیادی خواهند داشت.

۲. فشرده‌سازی و آرشیو

نمونهٔ خیلی سادهٔ ساخت فایل zip:

import zipfile
with zipfile.ZipFile("archive.zip", "w") as z:
    z.write("file1.txt")
    z.write("file2.txt")

۳. کار با متن و رشته‌ها

پایتون در هستهٔ خود امکانات خوبی برای کار با رشته‌ها دارد، اما کتابخانهٔ استاندارد ابزارهای پیشرفته‌تری هم ارائه می‌کند.

  import re
  text = "Email: user@example.com"
  match = re.search(r"\w+@\w+\.\w+", text)
  if match:
      print("ایمیل پیدا شد:", match.group())

۴. ذخیره‌سازی داده و ساختارهای سریالی

گاهی لازم است داده‌ها را در فایل ذخیره کنید، طوری که بعداً دوباره به شکل اصلی بازگردانده شوند.

  import json
  data = {"name": "Ali", "age": 20}
  text = json.dumps(data)          # تبدیل دیکشنری به رشتهٔ JSON
  print(text)
  back = json.loads(text)          # تبدیل رشتهٔ JSON به دیکشنری
  print(back["name"])

۵. ابزارهای مربوط به زمان‌سنجی و کارایی

۶. ابزارهای مرتبط با شبکه و وب (مقدماتی)

حتی بدون کتابخانه‌های خارجی هم می‌توانید کارهای سادهٔ وب انجام دهید.

این‌ها در فصل‌های «توسعهٔ وب» و «API های بسیار ساده» کاربرد پیدا می‌کنند.

۷. ابزارهای کاربردی عمومی

این دسته از ماژول‌ها در پروژه‌های مختلف، به شکل‌های متنوعی استفاده می‌شوند.

  from collections import Counter
  nums = [1, 2, 2, 3, 3, 3]
  c = Counter(nums)
  print(c)      # خروجی: Counter({3: 3, 2: 2, 1: 1})

۸. ابزارهای اشکال‌زدایی و توسعه

این ماژول در برنامه‌های بزرگ‌تر از print حرفه‌ای‌تر است.

چطور از کتابخانهٔ استاندارد بیشترین استفاده را ببریم؟

۱. پیش از نوشتن کد، جست‌وجو کنید
اگر می‌خواهید:

۲. مستندات رسمی را مرور کنید
آدرس کلی مستندات کتابخانهٔ استاندارد:

۳. با مثال‌های کوچک آزمایش کنید
مثل کدی که در این فصل و زیر‌بخش‌های math، random و datetime می‌بینید:

۴. آرام‌آرام، نه همه‌چیز یک‌جا
لازم نیست همهٔ ماژول‌ها را یک‌جا یاد بگیرید.
به‌مرور و هم‌زمان با پروژه‌ها و تمرین‌هایتان با آن‌ها آشنا می‌شوید.

چند تمرین پیشنهادی برای کار با کتابخانهٔ استاندارد

برای تمرین، می‌توانید چند پروژهٔ خیلی کوچک با تکه‌هایی از کتابخانهٔ استاندارد بسازید:

  1. گذار زمان ساده
    با استفاده از ماژول‌های زمانی (مثل time یا datetime) برنامه‌ای بنویسید که:
    • زمان شروع را ذخیره کند
    • بعد از گرفتن یک ورودی از کاربر، مدت زمانی را که گذشته است چاپ کند
  2. شمارش کلمات در یک متن
    برنامه‌ای بنویسید که:
    • یک رشته (متن) بگیرد
    • با استفاده از collections.Counter تعداد هر کلمه را بشمارد
  3. ذخیره و بازیابی تنظیمات با JSON
    برنامه‌ای کوچک بسازید که:
    • یک دیکشنری تنظیمات بسازد (مثلاً {"theme": "dark", "font_size": 14})
    • آن را با json در فایلی ذخیره کند
    • در اجرای بعدی، آن فایل را بخواند و تنظیمات را بازیابی کند

در زیر‌بخش‌های بعدی این فصل، به‌طور مشخص با سه ماژول math، random و datetime کار خواهیم کرد که از رایج‌ترین و پرکاربردترین قسمت‌های کتابخانهٔ استاندارد برای مبتدیان هستند.

Views: 5

Comments

Please login to add a comment.

Don't have an account? Register now!