Məzmuna keç
Educora
Orta15 dəq10 / 42

Modullar və standart kitabxana

Hazır alətlərdən istifadə et: import, math, random və datetime modulları və standart kitabxananın digər faydalı hissələri.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • Modulu import və from ... import ilə qoşmaq
  • math və random modullarının əsas funksiyalarını tətbiq etmək
  • datetime ilə tarixlər üzərində hesablama aparmaq

Kvadrat kök almaq, təsadüfi ədəd seçmək, iki tarix arasında neçə gün olduğunu hesablamaq üçün kodu sıfırdan yazmaq lazım deyil. Python hazır alətlərlə dolu standart kitabxana ilə birlikdə gəlir. Bu alətlər modullarda toplanıb — sadəcə lazım olanı qoşub istifadə edirsən.

import və math modulu

Tərif
Modul

Funksiyalar, dəyişənlər və siniflər olan ayrıca Python faylı. import əmri modulu proqrama qoşur, onun hissələrinə isə nöqtə ilə müraciət olunur: math.sqrt.

Python
import math

print(math.sqrt(144))
print(math.pi)
print(math.ceil(4.2), math.floor(4.8))
print(math.gcd(24, 36))
▸ Gözlənilən nəticə
12.0
3.141592653589793
5 4
12

ceil ədədi yuxarıya, floor aşağıya yuvarlaqlaşdırır, gcd isə iki ədədin ən böyük ortaq bölənini tapır. Moduldan yalnız bir neçə ad lazımdırsa, onları from ... import ilə birbaşa götürmək olar — onda math. yazmağa ehtiyac qalmır:

Python
from math import sqrt, pi

radius = 3
area = pi * radius ** 2
print(f'Circle area: {area:.2f}')
print(sqrt(2))
▸ Gözlənilən nəticə
Circle area: 28.27
1.4142135623730951

random: təsadüfi ədədlər

Oyunlarda, viktorinalarda və sınaqlarda təsadüflük lazımdır. random modulunun ən çox işlənən funksiyaları: randint(a, b) — a ilə b arasında (hər ikisi daxil) təsadüfi tam ədəd, choice(list) — siyahıdan təsadüfi element, shuffle(list) — siyahını qarışdırmaq.

Python
import random

for i in range(3):
    print(f'Roll {i + 1}: {random.randint(1, 6)}')
Kodu bir neçə dəfə işə sal — hər dəfə fərqli nəticə alacaqsan.

Bəzən təsadüfi nəticələri təkrarlamaq lazım olur — məsələn, proqramı sınaqdan keçirərkən. random.seed() ardıcıllığın başlanğıc nöqtəsini təyin edir: eyni ədədlə «toxum» verilsə, «təsadüfi» qiymətlər hər dəfə eyni çıxır.

Python
import random

random.seed(42)
print(random.randint(1, 6))
print(random.choice(['rock', 'paper', 'scissors']))
cards = [1, 2, 3, 4, 5]
random.shuffle(cards)
print(cards)
▸ Gözlənilən nəticə
6
rock
[2, 4, 5, 3, 1]

datetime: tarix və vaxt

Azərbaycanda dərs ili sentyabrın 15-də — Bilik Günündə başlayır. Həmin gündən Yeni ilə neçə gün qalır? datetime modulunda date tarixi, timedelta isə zaman fərqini bildirir. İki tarixi bir-birindən çıxanda timedelta alınır, onun days xassəsi günlərin sayını göstərir.

Python
from datetime import date, timedelta

start = date(2026, 9, 15)
new_year = date(2027, 1, 1)
print(start)
print(start.strftime('%d.%m.%Y'))
print((new_year - start).days, 'days until New Year')
print(start + timedelta(days=100))
▸ Gözlənilən nəticə
2026-09-15
15.09.2026
108 days until New Year
2026-12-24

strftime tarixi istədiyin formatda sətrə çevirir: %d gün, %m ay, %Y il deməkdir. date.today() isə bu günün tarixini verir — ona görə aşağıdakı kodun nəticəsi hər gün fərqli olacaq:

Python
from datetime import date

today = date.today()
print('Today is', today.strftime('%d.%m.%Y'))
print('Days left this year:', (date(today.year, 12, 31) - today).days)

Standart kitabxanada daha nələr var?

ModulNə üçündür
statisticsorta qiymət, median, moda
collectionsCounter kimi əlavə verilənlər strukturları
stringhazır simvol dəstləri: hərflər, rəqəmlər
jsonJSON formatında verilənləri oxumaq və yazmaq
timevaxtı ölçmək, gözləmək
Python
import statistics
from collections import Counter

scores = [7, 9, 6, 9, 10, 8, 9]
print(round(statistics.mean(scores), 2))
print(statistics.median(scores))

votes = ['pizza', 'plov', 'plov', 'dolma', 'plov', 'pizza']
print(Counter(votes).most_common(2))
▸ Gözlənilən nəticə
8.29
9
[('plov', 3), ('pizza', 2)]
Sinifdə sevimli yemək sorğusu: Counter səsləri bir sətirdə sayır.
Tapşırıq

95 şagird ekskursiyaya gedir, bir avtobusda 40 yer var. math modulunu idxal et və iki sətir çap et: 1) neçə avtobus lazımdır (math.ceil ilə), 2) radiusu 3,5 m olan dairəvi hovuzun sahəsi — nöqtədən sonra iki rəqəmlə (math.pi ilə).

Tapşırıq · Python
pupils = 95
seats = 40
radius = 3.5
# 1) import math
# 2) print how many buses are needed
# 3) print the area of the pool with 2 digits after the point
▸ Gözlənilən nəticə
3
38.48
Tapşırıq

from ... import yazılışı ilə statistics modulundan mean və median funksiyalarını, collections modulundan isə Counter-i idxal et. grades siyahısı üçün üç sətir çap et: orta qiymət, median və ən çox rast gəlinən qiymət — Most common: 3 (2 times) şəklində (əlbəttə, həqiqi ədədlərlə).

Tapşırıq · Python
grades = [5, 4, 5, 3, 5, 4, 2, 5]
# 1) import mean, median and Counter
# 2) print the mean and the median
# 3) print the most common grade like: Most common: 3 (2 times)
▸ Gözlənilən nəticə
4.125
4.5
Most common: 5 (4 times)

Əsas fikirlər

  • Modul hazır funksiyalar olan fayldır; import math onu qoşur, math.sqrt isə hissəsinə müraciət edir.
  • from math import sqrt adı birbaşa götürür, nöqtəyə ehtiyac qalmır.
  • random.randint, choice, shuffle təsadüflük verir; seed nəticəni təkrarlana bilən edir.
  • date tarixləri saxlayır; iki tarixin fərqi timedelta-dır, .days günləri verir.
  • Faylına standart modulun adını vermə.

Özünü yoxla

10 sual. Hər düzgün cavab XP qazandırır.

1 / 10
math modulundan yalnız sqrt-u necə qoşmaq olar?