Kahibaro
Discord Login Register

فصل ۱۲: استفاده از کتابخانه‌های پایتون

مقدمه‌ای بر استفاده از کتابخانه‌ها در پایتون

در فصل‌های قبل یاد گرفتید که چطور با خودِ زبان پایتون برنامه‌های ساده بنویسید: متغیر، شرط، حلقه، توابع و …
اما قدرت واقعی پایتون وقتی دیده می‌شود که از «کتابخانه‌ها» کمک بگیرید.

کتابخانه‌ها (Libraries) مجموعه‌ای از کدهای آماده هستند که افراد دیگر نوشته‌اند تا شما مجبور نباشید همه‌چیز را از صفر بسازید. این فصل یک نقشهٔ راه کلی برای کار با کتابخانه‌ها به شما می‌دهد؛ جزئیات فنی هر بخش در زیربخش‌های همین فصل (مثل math، random، datetime و pip) توضیح داده می‌شود.

در این فصل روی این موارد تمرکز می‌کنیم:

زیربخش‌های بعدی این فصل به‌طور خاص به:

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

چرا کتابخانه‌ها مهم هستند؟

بدون کتابخانه‌ها، برای هر کار کوچکی باید خودتان الگوریتم طراحی کنید، تست کنید و اشکال‌زدایی کنید. کتابخانه‌ها:

شما می‌توانید در مدت کوتاه، کارهایی انجام دهید که بدون کتابخانه تقریباً غیرممکن یا خیلی سخت است.

کتابخانه، ماژول، پکیج: تصویر کلی

تفاوت دقیق این اصطلاحات در زیربخش «کتابخانه چیست؟» آمده است؛ اینجا فقط یک درک شهودی می‌سازیم:

در عمل، وقتی می‌گوییم "کتابخانهٔ math" یا "کتابخانهٔ random"، منظورمان همان ماژول/پکیج‌هایی است که با import آن‌ها را استفاده می‌کنیم.

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

کتابخانه‌ها را از دو منظر مهم می‌توان دسته‌بندی کرد:

کتابخانه‌های استاندارد (Standard Library)

مثال ابتدایی:

import math
print(math.sqrt(16))   # ریشهٔ دوم
print(math.pi)         # عدد پی

استفاده از کتابخانه‌های استاندارد قدم اول و امن برای عادت کردن به کار با کتابخانه‌هاست.

کتابخانه‌های خارجی (Third-Party Libraries)

الگوهای رایج استفاده از `import`

در زیربخش «وارد کردن ماژول‌ها» نحو دقیق (syntax) را تمرین می‌کنید؛ اینجا می‌خواهیم با الگوهای فکری استفاده از آن‌ها آشنا شوید.

چند شکل بسیار رایج:

  1. وارد کردن کامل ماژول
   import math
   result = math.sqrt(25)
  1. وارد کردن با نام مستعار (alias)
   import datetime as dt
   today = dt.date.today()
  1. وارد کردن فقط بخش‌های موردنیاز
   from math import sqrt, pi
   print(sqrt(9))
   print(pi)
  1. (برای شروع توصیه نمی‌شود) وارد کردن همه‌چیز با *
   from math import *

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

با بزرگ‌تر شدن برنامه‌ها، معمولاً به مشکلی برمی‌خورید که حس می‌کنید «حتماً یکی قبلاً این را حل کرده». راه معمول:

  1. به‌صورت واضح مشکل خود را بنویسید
    مثلاً:
    • «می‌خواهم فایل‌های یک پوشه را جابه‌جا کنم»
    • «می‌خواهم نمودار خطی از داده‌هایم بکشم»
    • «می‌خواهم یک صفحهٔ وب باز کنم و اطلاعاتی از آن بخوانم»
  2. جست‌وجو با ترکیب "python" + مسئله
    مثال‌ها:
    • python move files directory
    • python draw line chart
    • python download web page
  3. بررسی پیشنهادها
    در نتایج، معمولاً نام کتابخانه‌ها تکرار می‌شود. برای مثال:
    • برای نمودار: matplotlib
    • برای کار با وب: requests, beautifulsoup4
    • برای کار با فایل‌ها: اغلب os, shutil, pathlib از کتابخانهٔ استاندارد
  4. چند معیار ساده برای انتخاب
    • آیا این کتابخانه در مستندات رسمی یا آموزش‌های معتبر پیشنهاد شده است؟
    • آیا تعداد نصب (Downloads/Installs) زیادی دارد؟
    • آیا آخرین به‌روزرسانی آن نسبتاً جدید است؟

هدف شما در این دوره این نیست که همهٔ کتابخانه‌ها را بشناسید، بلکه یاد بگیرید چطور خودتان کتابخانهٔ مناسب را پیدا و استفاده کنید.

خواندن مستندات (Documentation) کتابخانه‌ها

تقریباً همهٔ کتابخانه‌های جدی، یک مستندات (Documentation) دارند. مهارت کار با مستندات، یکی از مهم‌ترین مهارت‌های یک برنامه‌نویس است.

برای شروع، به چند بخش کلیدی در مستندات توجه کنید:

در سطح مبتدی، بهترین کار این است که:

الگوی ذهنی استفاده از کتابخانه‌ها

وقتی می‌خواهید با کتابخانه‌ای کار کنید، یک روند کلی مفید این است:

  1. کار را به دو بخش تقسیم کنید
    • بخش اول: استفاده از امکانات آماده کتابخانه
    • بخش دوم: ترکیب این امکانات با منطق خودتان (حلقه، شرط، توابع و … که قبلاً یاد گرفته‌اید)
  2. یک نمونهٔ خیلی کوچک بسازید
    • فقط import کنید
    • یک یا دو تابع را صدا بزنید
    • ببینید خروجی چگونه است
  3. به‌تدریج آن را در برنامهٔ اصلی خودتان ادغام کنید
    • اول فقط یک کار کوچک را با کتابخانه انجام دهید،
    • اگر جواب داد، آن را گسترش دهید.
  4. اشتباه کردن و خواندن خطاها کاملاً طبیعی است
    • خیلی از خطاها در شروع، صرفاً به این خاطر است که نام تابع را اشتباه نوشته‌اید، یا نوع دادهٔ نادرست به آن داده‌اید.
    • به خطای پایتون نگاه کنید: معمولاً نام ماژول و تابع را در متن خطا می‌بینید.

بهترین تمرین‌ها برای مبتدیان هنگام کار با کتابخانه‌ها

  import numpy as np
  import pandas as pd

در این دو مورد، np و pd به‌صورت قراردادی در جامعهٔ پایتون رایج‌اند؛ بنابراین خوانندگان کد به‌راحتی متوجه می‌شوند.

تمرین‌های پیشنهادی مفهومی (بدون کدنویسی زیاد)

برای اینکه حس بهتری از نقش کتابخانه‌ها بگیرید، می‌توانید به این سؤالات فکر کنید (یا بعداً روی آن‌ها کد بنویسید):

  1. اگر کتابخانهٔ random نداشتید، چطور می‌خواستید عدد تصادفی تولید کنید؟
  2. اگر کتابخانهٔ datetime نبود، چگونه تاریخ امروز را به‌دست می‌آوردید یا اختلاف دو تاریخ را محاسبه می‌کردید؟
  3. با جست‌وجو در اینترنت، یک کتابخانهٔ پایتون برای کار با PDF پیدا کنید.
    • نام آن چیست؟
    • برای چه کارهایی به‌درد می‌خورد؟
    • یک مثال کوتاه از مستنداتش ببینید.

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

Views: 6

Comments

Please login to add a comment.

Don't have an account? Register now!