מודולים בפייתון

מודול פייתון

A file containing Python definitions and statements is called a python module. So naturally, the file name is the module name which is appended with the suffix .py. For better understanding let’s create a python module to explore it completely. First create a file named printNumbers.py with the following contents.

def printForward(n):

    # הדפס 1 עד n
    for i in range(n):
        print(i+1)


def printBackwards(n):

    # הדפס n עד 1
    for i in range(n):
        print(n-i)

כעת במפרש פייתון יש לייבא את המודול הזה באמצעות הפקודה הבאה;

import printNumbers

פקודת הייבוא הזו תחפש את קובץ printNumbers.py בתיקייה הנוכחית ובמיקומי המשתמש במשתנים PATH. כאשר הקובץ נמצא, הקוד בקובץ יהיה זמין לשימוש. כעת, כדי לגשת לפונקציות שבמודול, עלינו להשתמש בשם המודול כמו שמוצג למטה: לפעמים, אם המודול גדול, כדי לקלות על הקריאה לפונקציות, ניתן לשנות את שמו של הייבוא כמו שמוצג למטה:

ייבוא פונקציה מסוימת של מודול פייתון

לפעמים אין צורך לייבא את כל הפונקציות של מודול בפייתון. ייתכן שנזדקק רק לפונקציה אחת או שתיים. במקרה כזה, ניתן להשתמש בגרסה הבאה של ההצהרה על הייבוא; משהו שחשוב לשים לב כאן, כאשר אנו מייבאים printForward, היא כלולה בטבלת הסמלים הנוכחית. לכן אין צורך לקרוא לפונקציה כמו כן – printNumbers.printForward() גרסה נוספת יכולה להיות שימושית לפעמים. כאן השתמשנו בשינוי שמו כמו שעשינו בעבר כדי לקלות את השימוש שלנו בפונקציה. גם אם נרצה לייבא את כל השמות שמוגדרים במודול יש גרסה נוספת לייבוא. זה מייבא את כל השמות פרט לאלה שמתחילים בקו תחתון (_). אך זה אינו תרגיל אידיאלי מאחר וזה מכניס סט של שמות לא ידוע לתוך המפרש.

שאלות נפוצות על מודולי פייתון

בואו נסתכל על כמה שאלות נפוצות שקשורות למודולים בפייתון.

מהם המודולים המובנים בפייתון?

ישנם הרבה מודולים מובנים ב-Python. חלק מהם הם – collections, datetime, logging, math, numpy, os, pip, sys, ו- time. ניתן לבצע את הפקודה help('modules') ב- Python shell כדי לקבל את רשימת המודולים הזמינים.

מהי ההבחנה בין מודול לחבילה ב-Python?

חבילת Python היא אוסף של מודולים ב-Python. מודול ב-Python הוא קובץ פייתון יחיד בעוד שחבילת Python היא ספרייה שיש בה מספר סקריפטים ב-Python וקובץ __init__.py המגדיר פרטי החבילה.

איפה אני יכול למצוא את רשימת מודולי Python?

תוכל למצוא את רשימת מודולי Python בדף הרשמי שלהם ב- אינדקס המודולים של Python. אם עם זאת, אם אתה מחפש את מודולי Python הזמינים עבורך, אז תוכל להריץ את הפקודה help('modules') במסדרת הפקודות של Python כדי לקבל את רשימת המודולים הזמינים.

Python Modules List

אנא בדוק את מאגר הקוד ב-GitHub עבור רשימה של המודולים הכי חשובים ב-Python ולמד אותם דרך הדרכות ספציפיות ותוכניות דוגמא.

איך אני יכול לייבא מודול מתיקייה שונה?

כאשר אנו מנסים לייבא מודול Python, הוא מחפש בתיקייה הנוכחית ובמיקום המשתנה PATH. אם הקובץ שלך אינו נמצא בתיקיות אלו, אז תקבל ModuleNotFoundError. הפתרון הוא לייבא את המודול sys ולהוסיף את התיקייה הרצויה למשתנה הנתיב שלו. הקוד למטה מראה את השגיאה כאשר אנו מנסים לייבא מתיקייה שונה ואיך אני מתקן זאת על ידי הוספת התיקייה שלו למשתנה הנתיב.

$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/pankaj/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>> 

רשימת מודולי Python

יש אלפי מודולים ב-Python ויותר מתפתחים כל יום. כתבנו מדריכים עבור הרבה מודולי Python פופולריים. פשוט עקוב אחר הקישורים מהטבלה למידת המודולים הללו.

הפניות:

Source:
https://www.digitalocean.com/community/tutorials/python-modules