মূল কন্টেন্টে যান
মডিউল 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` ফাংশনটি আমদানি করুন (`গণিত আমদানি sqrt থেকে` সহ), তারপর 144-এর বর্গমূল গণনা করুন এবং `r`-এ বরাদ্দ করুন। `r` মূল্যায়ন করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

গণিত আমদানি sqrt থেকে

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#python.m7.l4.e2
প্রচেষ্টা: 0লোড হচ্ছে...

'র্যান্ডম' মডিউলটি 'র্যান্ডম' উপনাম দিয়ে আমদানি করুন ('র্যান্ডম হিসাবে র্যান্ডম আমদানি করুন'), তারপর 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.

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

sin(0) 0.0 দেয়, cos(0) 1.0 দেয়। যোগফল 1.0। গণিত আমদানি পাপ থেকে ব্যবহার করুন, কারণ.

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ