Darsliklar Python Modul

Python Python Modul

Modul — loyiha kattalashgani sari muqarrar bo’ladigan tushuncha. Butun kodni bitta faylga sig’dirib bo’lmaydi; uni mantiqiy bo’laklarga — modullarga ajratamiz. Modul tushunchasini bilmasdan turib zamonaviy loyihada ishlab bo’lmaydi, chunki katta tizimlar yuzlab modulga bo’lingan.

ModulPython kodini o’z ichiga olgan .py fayl. Undagi funksiya, sinf va o’zgaruvchilarni boshqa fayllarda import orqali ishlatish mumkin. Bir necha modul birlashib paket (paperga tashkil qilingan modullar) hosil qiladi.

O’z modulingizni yaratish

Faraz qilaylik, hisob.py nomli fayl yaratdik va unga funksiya joyladik:

# hisob.py fayli
def yigindi(a, b):
    return a + b

def kopaytma(a, b):
    return a * b

Endi boshqa faylda bu modulni import qilib ishlatamiz:

import hisob

print(hisob.yigindi(15, 27))
print(hisob.kopaytma(6, 7))
42
42

import hisob butun faylni yuklaydi, so’ng undagi funksiyalarga hisob. prefiksi orqali murojaat qilamiz. Bu kodni tartibli va qayta ishlatiladigan qiladi.

import ning turli shakllari

Modulni import qilishning bir necha usuli bor. Ularni jadvalda solishtiramiz:

Shakl Ma’nosi
import hisob butun modulni yuklaydi
from hisob import yigindi faqat bitta funksiyani oladi
from hisob import * hammasini oladi (tavsiya etilmaydi)
import hisob as h modulga qisqa nom beradi

Amalda ko’ramiz:

from hisob import yigindi
import hisob as h

print(yigindi(10, 5))     # prefiksisiz
print(h.kopaytma(4, 4))   # qisqa nom bilan
15
16

from ... import kerakli funksiyani to’g’ridan-to’g’ri chaqirishga imkon beradi. as esa uzun modul nomiga qulay taxallus beradi — masalan, import pandas as pd.

Standart kutubxona modullari

Python o’zi bilan yuzlab tayyor modul olib keladi — bu standart kutubxona. Ularni o’rnatish shart emas, shunchaki import qiling:

import random
import os

print(random.randint(1, 100))
print(os.getcwd())
57
/home/farrux/loyiha

random — tasodifiy sonlar, os — operatsion tizim bilan ishlash uchun. Keyingi darslarda datetime, math, json kabi modullarni alohida o’rganamiz.

name va modulni himoyalash

Modul ham import qilinishi, ham mustaqil ishga tushirilishi mumkin. Ikkisini ajratish uchun maxsus naqsh ishlatiladi:

def salom():
    print("Salom, UzbekDevs!")

if __name__ == "__main__":
    salom()   # faqat fayl to'g'ridan-to'g'ri ishga tushsa bajariladi
Salom, UzbekDevs!

if __name__ == "__main__": bloki fayl python hisob.py bilan bevosita ishga tushganda ishlaydi, lekin boshqa joyda import qilinganda ishlamaydi. Bu professional Python kodining doimiy naqshi — buni yodda saqlang.

Xulosa

Bu darsda modul yaratish, import ning turli shakllari, standart kutubxona modullari va __name__ == "__main__" himoyasini o’rgandik. Modullar kodni tartibli, qayta ishlatiladigan va boshqariladigan qiladi. Keyingi darsda datetime moduli — sana va vaqt bilan ishlashga o’tamiz.