A module एकल .py फाइल हो; a package मोड्यूलहरूको डाइरेक्टरी हो। Imports तपाईंलाई अन्य मोड्यूलहरूबाट कोड प्रयोग गर्न दिन्छ, प्रोग्रामलाई पुन: प्रयोग गर्न सकिने टुक्रामा संगठित गर्दै।
मोड्यूलहरू र आयात
(): a + b
PI =
# main.py — different ways to import
import math_utils # import the whole module
math_utils.add(2, 3) # access via the module name
from math_utils import add, PI # import specific names
add(2, 3) # use directly
from math_utils import add as plus # import with an alias
import numpy as np # common aliasing convention
mypackage/
__init__.py ← marks it as a package (can be empty)
module_a.py
subpackage/
__init__.py
module_b.py
from mypackage.module_a import something
from mypackage.subpackage.module_b import other
__init__.py फाइलले डाइरेक्टरीलाई प्याकेजको रूपमा चिन्हित गर्छ (र प्याकेज-init कोड चलाउन सक्छ वा from package import * ले के खोल्छ भनी परिभाषित गर्न सक्छ)।
if __name__ == "__main__" idiomdef main():
print("running as a script")
if __name__ == "__main__": # True only when run directly, not when imported
main()
यो फाइललाई आयात गर्न सकिने मोड्यूल र चलाउन सकिने स्क्रिप्ट दुवै रूपमा कार्य गर्न दिन्छ — यसको तलको कोड तब मात्र चल्छ जब फाइल प्रत्यक्ष रूपमा कार्यान्वित हुन्छ (python file.py), आयात नगरिकन। लगभग सार्वभौमिक Python idiom।
import sys
sys.path # the list of directories Python searches for imports
# includes: the current directory, installed packages (site-packages), stdlib
import os, json, datetime # standard library — "batteries included"
import requests # third-party — installed via pip from PyPI
मोड्यूलहरू र प्याकेजहरू हुन् कसरी तपाईंले Python कोडलाई पुन: प्रयोग गर्न सकिने, राम्रो व्यवस्थापनयोग्य एकाइहरूमा संगठित गर्नु हुन्छ — एक विशाल फाइलको सट्टामा — कुनै पनि गैर-तुच्छ परियोजनाको लागि मौलिक।
आयात शैली, प्याकेज संरचना (__init__.py), if __name__ == "__main__" idiom (दुहरी स्क्रिप्ट/मोड्यूल व्यवहार), र Python मोड्यूलहरू कसरी खोज्छ (sys.path) भनी बुझ्नु परियोजनाहरू संरचित गर्न, कोड पुन: प्रयोग गर्न, र विशाल मानक पुस्तकालय र PyPI इकोसिस्टम प्रयोग गर्न आवश्यक छ।
आयात त्रुटिहरू र संरचना भ्रम सामान्य प्रारम्भिक बाधाहरू हुन् जुन यो ज्ञानले समाधान गर्छ।