मुख्य सामग्री पर जाएं
मॉड्यूल 7 · पाठ 4 का 4पाठ्यक्रम में 28/36~10 min
मॉड्यूल पाठ (4/4)

आयात और मॉड्यूल

पायथन में एक मॉड्यूल बस एक .py फ़ाइल है। किसी मॉड्यूल के कोड का उपयोग करने के लिए किसी अन्य फ़ाइल से, आप इसे आयात करते हैं।

import के फॉर्म

Python
# 1) import del modulo intero
import math
math.sqrt(16)        # 4.0
math.pi              # 3.14159...

# 2) import di nomi specifici
from math import sqrt, pi
sqrt(16)             # ora direttamente disponibile
pi

# 3) import con alias
import numpy as np      # convenzione idiomatica
from datetime import datetime as dt

# 4) import "star" (sconsigliato)
from math import *      # inquina il namespace, evita

जहां पायथन मॉड्यूल की तलाश करता है

पायथन sys.path में मॉड्यूल ढूंढता है, जिसमें शामिल हैं:

  1. चल रही स्क्रिप्ट की निर्देशिका,
  2. PYTHONPATH में निर्देशिकाएँ,
  3. स्थापित लाइब्रेरी (site-packages)।
Python
import sys
sys.path     # lista di directory

एक मॉड्यूल बनाना

mio_modulo.py बनाएं:

Python
# mio_modulo.py
PI = 3.14159

def area_cerchio(r):
    return PI * r * r

उसी निर्देशिका में किसी अन्य फ़ाइल से:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __name__ == "__main__":

जब कोई स्क्रिप्ट सीधे निष्पादित होती है, तो इसका विशेष वेरिएबल __name__ होता है "__main__" के बराबर है। जब वही फ़ाइल मॉड्यूल के रूप में आयात की जाती है, __name__ मॉड्यूल नाम के बराबर है।

Python
# strumento.py

def fai_qualcosa():
    print("lavoro!")

if __name__ == "__main__":
    # eseguito solo se lanci `python strumento.py`
    # NON viene eseguito se qualcuno importa questo file
    fai_qualcosa()

यह उन फ़ाइलों के लिए मानक पैटर्न है जो पुन: प्रयोज्य दोनों के रूप में काम कर सकते हैं मॉड्यूल और एक निष्पादन योग्य स्क्रिप्ट।

पैकेज: मॉड्यूल के फ़ोल्डर

एक निर्देशिका जिसमें एक __init__.py फ़ाइल (यहां तक कि एक खाली फ़ाइल भी) एक बन जाती है आयात योग्य पैकेज:

Code
mio_pkg/
    __init__.py
    utenti.py
    pagamenti.py
Python
from mio_pkg import utenti
from mio_pkg.utenti import crea_utente

आपकी बारी

व्यायाम#python.m7.l4.e1
प्रयास: 0लोड हो रहा है...

फ़ंक्शन `sqrt` को `math` मॉड्यूल से आयात करें (`math से आयात sqrt` के साथ), फिर 144 के वर्गमूल की गणना करें और इसे `r` पर असाइन करें। `r` का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

गणित आयात sqrt से

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#python.m7.l4.e2
प्रयास: 0लोड हो रहा है...

'रैंडम' मॉड्यूल को उपनाम 'rnd' (`rnd के रूप में रैंडम आयात करें') के साथ आयात करें, फिर rnd.seed(42) के साथ सीड को 42 पर सेट करें, और rnd.randint(1, 100) का मूल्यांकन करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

rnd के रूप में यादृच्छिक आयात करें

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#python.m7.l4.e3
प्रयास: 0लोड हो रहा है...

Import the `sin` and `cos` functions directly from the `math` module using `from ... import ...`. Calculate the sum of `sin(0)` and `cos(0)`, store it in `trig_sum`, and evaluate it.

संपादक लोड हो रहा है...
संकेत दिखाएँ

पाप(0) से 0.0 प्राप्त होता है, कॉस(0) से 1.0 प्राप्त होता है। योग 1.0 है. गणित आयात पाप से उपयोग करें, क्योंकि।

3 प्रयासों के बाद समाधान उपलब्ध है