שאלת הבנה על import ו-import from

מה ההבדל בין import a לבין from a import *?

לצורך העניין a הוא מודול שלם (ספרייה) שמכיל הרבה קבצים שכל קובץ אחראי על פעולה אחרת.
אם את רוצה להשתמש בפעולה ספציפית את לא צריכה את כל המודול (ספרייה) אלא רק קובץ אחד מתוכו . אז בשימוש ב from את קוראת רק לקובץ שבתוך המודול ולא לכל המודול כמו ב import.

טכנית בעוד שבצורת ה-import תצטרכי לגשת לכל פונקציה/מחלקה b שמוגדרת ב-a תצטרכי לעשות a.b, ואילו בשני תצטרכי לעשות פשוט b כי את מייבאת את כל הפונקציות והמחלקות שמוכלות ב-a (ממש כמו from a import b אבל לכל b שמוגדר שם).
מעשית הצורה הראשונה עדיפה בהרבה (לפחות כמעט תמיד), כי בצורה השנייה את עלולה לייבא המון דברים עם שמות שמתנגשים עם דברים שלך/אחד עם השני אם תביאי כמה מודולים, או שסתם לא יהיה ברור מה הם. אם למשל תכתבי בקוד e זה יהיה מאוד לא ברור, לעומת זאת אם תכתבי math.e יבינו מיד על איזה e מדובר.

2 לייקים