ایک ماڈیول ایک واحد .py فائل ہے؛ ایک پیکج ماڈیولز کی ایک ڈائریکٹری ہے۔ درآمدیں آپ کو دوسری ماڈیولز سے کوڈ استعمال کرنے دیتی ہیں، ایک پروگرام کو دوبارہ استعمال کے قابل حصوں میں منظم کرتے ہوئے۔
ماڈیولز اور درآمد
(): 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 فائل ایک ڈائریکٹری کو ایک پیکج کے طور پر نشان زد کرتی ہے (اور پیکج شروع کرنے والے کوڈ کو چلا سکتی ہے یا from package import * کو بیان کر سکتی ہے)۔
if __name__ == "__main__" محاورہdef main():
print("running as a script")
if __name__ == "__main__": # True only when run directly, not when imported
main()
یہ ایک فائل کو ایک درآمد ماڈیول اور ایک چلانے کے قابل اسکرپٹ کے طور پر کام کرنے دیتا ہے — اس کے تحت کوڈ صرف اس وقت چلتا ہے جب فائل براہ راست چلائی جائے (python file.py), درآمد شدہ نہیں۔ تقریباً آفاقی Python محاورہ۔
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__" محاورہ (دوہری اسکرپٹ/ماڈیول رویہ)، اور Python ماڈیولز تلاش کرنے کے طریقے کو سمجھنا (sys.path) منصوبوں کو ڈھانچہ دینے، کوڈ کو دوبارہ استعمال کرنے، اور وسیع معیاری لائبریری اور PyPI ماحول کو استعمال کرنے کے لیے ضروری ہے۔
درآمد کی غلطیاں اور ڈھانچے کی الجھن عام شروعاتی رکاوٹیں ہیں جو یہ علم حل کرتا ہے۔