ਇੱਕ ਮਾਡਿਊਲ ਇੱਕ ਸਿੰਗਲ .py ਫਾਈਲ ਹੈ; ਇੱਕ ਪੈਕੇਜ ਮਾਡਿਊਲਾਂ ਦੀ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਹੈ। ਇਮਪੋਰਟ ਤੁਹਾਨੂੰ ਦੂਸਰੇ ਮਾਡਿਊਲਾਂ ਤੋਂ ਕੋਡ ਵਰਤਣ ਦਿੰਦੇ ਹਨ, ਇੱਕ ਪ੍ਰੋਗ੍ਰਾਮ ਨੂੰ ਦੁਬਾਰਾ ਵਰਤੋ ਜਾ ਸਕਣ ਵਾਲੇ ਟੁਕੜਿਆਂ ਵਿੱਚ ਸੰਗਠਿਤ ਕਰਦੇ ਹਨ।
ਮਾਡਿਊਲ ਅਤੇ ਇਮਪੋਰਟਿੰਗ
(): a + b
PI =
ਇੱਕ ਮਾਡਿਊਲ ਇੱਕ ਸਿੰਗਲ .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 ਈਕੋਸਿਸਟਮ ਵਰਤਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
ਇਮਪੋਰਟ ਗਲਤੀਆਂ ਅਤੇ ਢਾਂਚਾ ਗੁੰਝਲਦਾਰੀ ਆਮ ਸ਼ੁਰੂਆਤੀ ਰੁਕਾਵਟਾਂ ਹਨ ਜੋ ਇਹ ਗਿਆਨ ਹੱਲ ਕਰਦਾ ਹੈ।