יבוא קבצים ומודולים

מחבר:
בתאריך:

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

את תיקיית הפרויקט נחלק לשני קבצים: הקובץ main.py שלתוכו נייבא את הקובץ toy_module.py.

בתוך הקובץ toy_module.py נכתוב:

print('Toy module says hello...')

נכתוב בתוך main.py את הקוד הבא שמייבא את toy_module:

import toy_module

נריץ את הסקריפט main.py, ונקבל את ההודעה:

Toy module says hello…

שאותה יבאנו מקובץ המודול.

אפשר להשתמש בשם ידידותי למודול, לדוגמה את toy_module אפשר לקצר ל-tm:

import toy_module as tm

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

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

נוסיף למודול toy_module קוד הכולל פונקציה ומשתנה:

str1 = 'Str1 at your service...'
 
def convert_tuple_to_dictionary(tpl):
    '''convert tuple to dictionary'''
    dict = {}
 
    for item in tpl:
        for key, val in tpl:
           dict[key] = val
 
    return dict
  • המשתנה str1 מכיל מחרוזת עם הודעת בדיקה.
  • הפונקציה convert_tuple_to_dictionary ממירה טאפלים למילונים.

בתוך הקובץ main.py, נייבא את הפונקציה convert_tuple_to_dictionary מתוך המודול, ונפעיל אותה על רשימת טאפלים:

# import function from the module
from toy_module import convert_tuple_to_dictionary
 
# list of tuples
cars = [('BMW', 310000), ('Ferrari', 500000), ('Tesla', 180000)]
 
# use the imported function
dict = convert_tuple_to_dictionary(cars)
 
print(dict)

התוצאה היא מילון:

{'BMW': 310000, 'Ferrari': 500000, 'Tesla': 180000}

ניתן להחליף את שם הפונקציה לשם ידידותי:

# import function from the module
from toy_module import convert_tuple_to_dictionary as converter
  • נשתמש במילה השמורה as כדי לתת שמות ידידותיים למודולים והפונקציות שאנו מייבאים.

נשתמש בשמה החדש של הפונקציה:

# list of tuples
cars = [('BMW', 310000), ('Ferrari', 500000), ('Tesla', 180000)]
 
# use the imported function
dict = converter(cars)
 
print(dict)

כפי שניתן לייבא פונקציות, אפשר לייבא משתנים. נייבא את המשתנה str1 מהמודול:

# import function from the module
from toy_module import convert_tuple_to_dictionary as converter, str1
  • כשמייבאים מספר משתנים ופונקציות מאותו המודול נהוג להפריד את שמותיהם באמצעות פסיקים.

נדפיס את המשתנה והפונקציה אותם ייבאנו:

# list of tuples
cars = [('BMW', 310000), ('Ferrari', 500000), ('Tesla', 180000)]
 
# use the imported function
dict = converter(cars)
 
print(dict)
 
print(str1)
{'BMW': 310000, 'Ferrari': 500000, 'Tesla': 180000}

Str1 at your service...

 

הספרייה הסטנדרטית של פייתון

ניתן לייבא מודולים שכתבו מתכנתים אחרים שיכולים לחסוך לנו המון עבודה. לדוגמה, פייתון מגיע עם ספרייה סטנדרטית שמציעה מגוון עצום של פונקציות שימושיות שאותם ניתן לסקור בקישור: https://docs.python.org/3/library.

מתוך הספרייה הסטנדרטית, נייבא את המודול math המכיל שפע של קבועים ופונקציות מתמטיות:

import math

מה הערך של פאי?

print(math.pi)

כמה זה 3 בריבוע?

math.pow(3, 2)

 

ספריות נוספות של פייתון

מלבד הספרייה הסטנדרטית פייתון כולל שפע של מודולים שניתן לייבא. בהמשך סדרת מדריכי הפייתון, נלמד על מודול os המהווה את הקשר עם מערכת ההפעלה, מודולים המשמשים לעבודה עם תאריכים, ביטויים רגולריים לאיתור דפוסים במחרוזות, גירוד דפי רשת באמצעות המודול BeautifulSoup, ועוד.

לכל המדריכים בסדרה ללימוד פייתון

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

הוסף תגובה חדשה

 

= 7 + 7