⬅️ Bosh sahifaga
1 / 14

📦 Python Modules va Packages

Standart modullar va custom modullar yaratish

🎯 Maqsad: Kodni tartibli va qayta ishlatiladigan qilish

Modullar = Kodni tartibga solish

Paketlar = Modullarni guruhlash 📚

👨‍💻 Python Ustozi bilan

📋 Dars Rejasi

  • Modullar tushunchasi - 20 daqiqa
  • Standart modullar bilan ishlash - 25 daqiqa
  • Custom modullar va paketlar yaratish - 20 daqiqa
  • Amaliy mashqlar - 25 daqiqa
  • Xulosa va uy vazifasi - 20 daqiqa
  • Savol-javob - 10 daqiqa

Jami: 120 daqiqa (2 soat) 🕐

🤔 Modul nima?

📄 Modul

Python fayli (.py) bo'lib, unda funksiyalar, o'zgaruvchilar yoki sinflar mavjud

📦 Paket

Bir nechta modullarni o'z ichiga olgan papka, __init__.py fayli bilan belgilanadi

💡 Afzalliklari:

  • Kodni tartibli saqlash
  • Qayta ishlatish imkoniyati
  • Katta loyihalarda boshqaruv
  • Xotira tejash

📥 Import Usullari

# 1. Butun modulni import qilish import math print(math.sqrt(16)) # 4.0 # 2. Faqat kerakli funksiya from math import pi print(pi) # 3.14159... # 3. Qisqa nom bilan import math as m print(m.factorial(5)) # 120

📌 Qachon qaysi usul?

import math - ko'p funksiya kerak

from math import pi - faqat bittasi

import math as m - uzun nom

⚠️ from math import * - ishlatmang!

🏛️ Python Standart Modullari

🔢 math

Matematik operatsiyalar

sqrt(), factorial(), pi

🎲 random

Tasodifiy sonlar

randint(), choice()

📅 datetime

Sana va vaqt

now(), strftime()

💾 os

Operatsion tizim

getcwd(), mkdir()

Python bilan 200+ standart modul keladi!

🔢 math Moduli

import math # Ildiz print(math.sqrt(25)) # 5.0 # Faktorial print(math.factorial(4)) # 24 # Pi soni print(math.pi) # 3.141592653589793 # Trigonometriya print(math.sin(math.pi/2)) # 1.0 # Logarifm print(math.log(10)) # 2.302585092994046

📊 Boshqa foydali funksiyalar:

ceil(), floor(), pow(), degrees(), radians()

🎲 random Moduli

import random # Tasodifiy butun son print(random.randint(1, 10)) # 1-10 orasida # Tasodifiy suzuvchi son print(random.random()) # 0.0-1.0 orasida # Ro'yxatdan tasodifiy tanlov ismlar = ["Ali", "Zilola", "Sardor"] print(random.choice(ismlar)) # Tasodifiy ism # Ro'yxatni aralashtirish sonlar = [1, 2, 3, 4, 5] random.shuffle(sonlar) print(sonlar) # Aralashtirilgan

📅 datetime Moduli

from datetime import datetime, date, time # Hozirgi vaqt hozir = datetime.now() print(hozir) # 2025-04-23 12:34:56.789123 # Faqat sana bugun = date.today() print(bugun) # 2025-04-23 # Formatlashtirish print(hozir.strftime("%Y-%m-%d")) # 2025-04-23 print(hozir.strftime("%H:%M:%S")) # 12:34:56 # Alohida qismlar print(hozir.year) # 2025 print(hozir.month) # 4 print(hozir.day) # 23

🛠️ Custom Modul Yaratish

📝 matematika.py

# matematika.py fayli def yigindi(a, b): return a + b def kopaytirish(a, b): return a * b def kvadrat(x): return x ** 2 # O'zgaruvchi PI = 3.14159

🚀 asosiy.py

# asosiy.py fayli import matematika natija1 = matematika.yigindi(5, 3) print(natija1) # 8 natija2 = matematika.kopaytirish(4, 2) print(natija2) # 8 print(matematika.PI) # 3.14159

✅ O'z modulimizni yaratdik!

📦 Paket Yaratish

🗂️ Fayl tuzilmasi

mening_paketim/ __init__.py modul1.py modul2.py ichki_paket/ __init__.py modul3.py

⚠️ __init__.py - paketni belgilaydi

📄 modul1.py

def salom(): print("Salom, dunyo!") def hisoblash(x, y): return x * y + 10

🚀 Ishlatish

from mening_paketim import modul1 modul1.salom() # Salom, dunyo! print(modul1.hisoblash(3, 4)) # 22

💡 Amaliy Misollar

🎯 Misol 1: Matematik kalkulyator

# kalkulyator.py import math def umumiy_hisoblash(son): natijalar = { 'kvadrat': son ** 2, 'kub': son ** 3, 'ildiz': math.sqrt(son), 'faktorial': math.factorial(son) if son >= 0 else 'Xato' } return natijalar

🎮 Misol 2: O'yin moduli

# oyin.py import random def son_topish_oyini(): maxfiy_son = random.randint(1, 100) print("1-100 orasidagi sonni toping!") return maxfiy_son

🏋️ Amaliy Mashqlar

Mashq 1: Standart modullar

random - 1-50 tasodifiy son

math - 16 ning ildizi

datetime - bugungi sana

Mashq 2: Custom modul

kalkulyator.py yarating

bolish(a, b) funksiyasi qo'shing

• Import qilib sinab ko'ring

Mashq 3: Paket

tools paketini yarating

xabar.py moduli qo'shing

xabar_ber() funksiyasini yarating

⏰ Har mashq uchun 8-9 daqiqa vaqt

🏠 Uy Vazifasi

  • math modulidan 10! (faktorial) hisoblang
  • random bilan ["Olma", "Anor", "Banan"] dan tanlang
  • foydali.py modul yarating - kopaytirish(a, b)
  • Bu modulni import qilib, kopaytirish(6, 7) chaqiring
  • Muddat: Keyingi darsga qadar

    📧 Topshirish: Barcha kodlar va fayllarni yuboring

    Keyingi dars: Python Standart Kutubxonalari (os, sys, random, math) 📚

    🎯 Xulosa

    Bugun o'rgandik:

    • Modullar va Paketlar nima?
    • Import usullari
    • Standart modullar: math, random, datetime, os
    • Custom modullar yaratish
    • Paket tuzilmasi
    • Amaliy misollar

    Asosiy qoida: Kod tartibli bo'lishi - muvaffaqiyat kaliti! 🔑

    Eslab qoling:

    • Modullar = Qayta ishlatish

    • Paketlar = Tartibga solish

    • Import = Kuch

    Savollaringiz bormi? 🤔

    Rahmat! 👏