Kirish.

Python dasturlash tilining kutubxonasida 200dan ortiq standart modullari bo'lib, ularning ortiqcha yoki keraksizi yo'q. Dastur tuzish jarayonida vazifasiga qarab modullardan foydalanamiz. Masalan, matematik ifodalarni hisoblash uchun math, grafik interfeysli dasturlar yaratish uchun tkinter, fayl va papkalar bilan ishlashda os va boshqa standart modullar bor. Ushbu maqolada dasturchilar tomonidan ko'p foydalaniladigan ayrim standart modullar bilan tanishamiz. 

Modullar bu o'zida funksiyalar, klasslar, ro'yxatlar, o'zgaruvchilarni saqlovchi python fayllaridir. Modullar ikkiga bo'linadi: standart modullar va foydalanuvchilar tomonidan yaratilgan modullar. Standart modullar python dasturlash muhiti bilan birga o'rnatilgan bo'ladi. Modullardan foydalanish uchun ularni quyidagicha dastur kodlariga bog'lashimiz kerak.

Import yordamida:

import math
print(math.pi)

Barcha funksiyalarini olish uchun:

from math import *
print(pi)

Modulni nomini o'zgartirib olish:

import math as m
print(m.pi)

Modullardagi funksiya, o'zgaruvchilarni ko'rish uchun dir() funksiyasidan foydalanamiz. dir() funksiyasi barcha modullar uchun amal qiladi. Masalan,

import math
print(dir(math))

ushbu dastur math modulini funksiya va o'zgaruvchilarni chiqarib beradi.

Standart modullar.

1.Math-matematik ifodalarni, masalalarni hisoblashda foydalaniladi.

FunksiyaVazifasiFunksiyaVazifasi
sqrt(x)x ni kvadrat ildizi.log10(x)x ning 10 lik logarifmini hisoblaydi.
pow(x,n)x ning n chi darajadi.sin(x)x ning sinusini hisoblaydi.
factorial(x)x ning faktorialini hisoblaydi.cos(x)x ning kosinusini hisoblaydi.
abs(x)x ning modulini hisoblaydi.tan(x)x ning tangesini hisoblaydi.
ceil(x)x ni katta songacha yaxlitlaydi.asin(x)x ning arksinusini hisoblaydi.
round(x,n)x sonini nuqtadan keyin n ta belgigacha yaxlitlaydi.acos(x)x ning arkkosinusini hisoblaydi.
floor(x)x ni kichik songacha yaxlitlaydi.atan(x)x ning arktangesini hisoblaydi.
log(a,b)b asosga ko'ra a logarifmni hisoblash.degrees(x)Radiandan gradusga o'tkazish.
ee o'zgarmas kattalikradians(x)Gradusdan radianga o'tkazish.
piPi o'zgarmas kattalik  

Masala. Kiritilgan sonni sinusi, kosinusi, tangensini hisoblovchi dastur tuzing.

import math
n=int(input("Son kiriting: "))
print("Sinusi", math.sin(n))
print("Kosinusi", math.cos(n))
print("Tangensi", math.tan(n))

2.Turtle-bu modul yordamida ekranda turli shakl va chiziqlarni chizishimiz mumkin. Pythonni o'rganuvchilar ham birinchi shu moduldan o'rganishni boshlashadi.

FunksiyaVazifasiFunksiyaVazifasi
forward()Oldinga yurgizdirish.speed()0..10 oraliqdagi tezligi.
backward()Orqaga yurgizdirish.pendown()Qalamni tushirib chizish mumkin.
right()O'nga burish.penup()Qalamni ko'tarish.
left()Chapga burish.pensize()Chiziq qalinligi.
bgcolor()Fon rangi.pencolor()Chiziq rangi.
title()Sarlavha nomi.clearscreen()Ekranni tozalash.

Turtle modulining boshqa ko'plab funksiyalari bor.

Masala. To'rtburchak chizuvchi dastur tuzing.

import turtle
t=turtle.Turtle()
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)

3.Random-bu modul tasodifiy sonlarni olishda yoki ro'yxat elementlarini tasodifiy aralashtirishda foydalaniladi.

FunksiyaVazifasiFunksiyaVazifasi
random()0 va 1 dan birini oladi.choice()Ro'yxatdan tasodifiy elementni olish
randint(a,b)a va b oraliqdan tasodifiy sonni olishshuffle()Ro'yxatni aralashtirish
randrange(a,b,c)a va b oraliqdan tasodifiy sonni c qadam bo'yicha olishuniform(a,b)a va b oraliqdan tasodifiy sonni olish

Masala. 1dan 100 gacha sonlar orasidan tasodifiy sonni ekranga chiqaruvchi dastur tuzing.

import random
print("Tasodifiy son:", random.randint(1,100))

4.Datetime-sana va vaqtni aniqlash ular ustida amallar bajarish uchun mo'ljallangan ko'plab funksiyalarga ega.

Joriy sana va vaqtni olish uchun s=datetime.datetime.now() funksiyasidan foydalanamiz. strftime(metod) funksiyasi yordamida sana va vaqtni formatlab kerakli ko'rinishda olishimiz mumkin. Quyida metodlar jadvali berilgan.

MetodVazifasiMetodVazifasi
%aHafta kuni (qisqa)%ISoat (00-12)
%AHafta kuni (to’liq)%pKun vaqti (AM/PM)
%wHafta kuni (raqam shaklida)%MMinut (00-59)
%dOyning sanasi%SSekund (00-59)
%bOy nomi (qisqa)%jYildagi kun raqami (001-366)
%BOy nomi (to’liq)%UYildagi hafta raqami, Yakshanba birinchi kun sifatida (00-53)
%mOy (raqam ko’rinishida)%WYildagi hafta raqami, Dushanba birinchi kun sifatida (00-53)
%yYil (qisqa)%cMahalliy sana va vaqt
%YYil (to’liq)%xMahalliy sana
%HSoat (00-23)%XMahalliy vaqt

Masala. Joriy vaqtni chiqaruvchi dastur tuzing.

from datetime import *
s=datetime.now()
print("Yil:", s.strftime("%Y"))
print("Oy:", s.strftime("%B"))
print("Kun:", s.strftime("%d"))
print("Soat:", s.strftime("%H"))
print("Minut:", s.strftime("%M"))
print("Sekund:", s.strftime("%S"))

5.OS-moduli fayl va papkalar bilan ishlash uchun mo'ljallangan. Operatsion tizimda fayl va papkalarni boshqarish uchun juda ko'plab funksiyalarga ega bo'lib, quyida ayrimlari keltirilgan.

FunksiyaVazifasiFunksiyaVazifasi
mkdir()Yangi papka yaratish.write()Faylga yozish.
rmdir()Papkani o'chirib tashlash.link()Yorliq yaratish.
listdir()Ko'rsatilgan papkadagi barcha papka va fayllar ro'yxatini aniqlaydi.remove()Faylni o'chirish.
close()Ulangan fayllarni yopish.rename()Fayl yoki papkaning nomini o'zgartirish
open()Faylni ochish.system()Tizm buyruqlaridan foydalanish.
read()Fayldan o'qish.cpu_count()Protsesor sonini aniqlaydi.

Masala. Joriy papkada "Salom" nomli yangi papka yaratuvchi dastur tuzing.

import os
os.mkdir("Salom")

6.SYS-sys moduli python interpretatori bilan ishlashga mo'ljallangan.

FunksiyaVazifasiFunksiyaVazifasi
version()Python versiyasini qaytaradi.implementation()Python haqida ma'lumotlar qaytaradi.
copyright()Pythonga tegishli mualliflik huquqlarini o'z ichiga oladi.maxsize()O'zgaruvchiga beriladigan maksimal son uzunligini aniqlaydi
_clear_type_cache()Ichki keshni tozalash.modules()O'rnatilgan modullar ro'yxatini qaytaradi.
exc_info()Xatolik xaqida ma'lumot olish.path()Modullar joylashgan papkalarni ro'yxatini qaytaradi.
exit()Pythondan chiqish.platform()Tizimni aniqlash.

Masala. O'rnatilgan python dasturlash tili versiyasini aniqlovchi dastur tuzing.

import sys
print("Python versiyasi:", sys.version)

7.Socket-tarmoq bilan ishlovchi dasturlar yaratishda foydalaniladi. Tarmoq bilan ishlovchi dasturlar server va klient qismga bo'linadi. Socket yordamida ular o'zaro ma'lumot almashadi.

FunksiyaVazifasiFunksiyaVazifasi
socket()Berilgan parametr bo'yicha tarmoq yaratadi.create_connection()Tarmoqga ulanish
error()Xatolikni qaytaradi.create_server()Server yaratish
sockettype()Sokket turini aniqlash.accept()Ulanishni qabul qilish.
close()Sokketni yopishconnect()Tarmoqqa ulanish
send()Tarmoqdan ma'lumot jo'natishsendfile()Tarmoqdan fayl jo'natish
recv()Tarmoqdan ma'lumotni olishshutdown()Tarmoqdan uzish

Masala. Socket yordamida server yaratuvchi dastur tuzing.

import socket
addr = ("", 8080) 
if socket.has_dualstack_ipv6():
    s = socket.create_server(addr, family=socket.AF_INET6, dualstack_ipv6=True)
else:
    s = socket.create_server(addr)

8.Tkinter-GUI yani grafik interfeysli dasturlar tuzish uchun foydalaniladi. Python dasturlash tilida faqat buyruqlar satrida natija chiqaruvchi dasturlar tuzilmaydi. Foydalanishga qulay interfeysli dasturlar yaratsa ham bo'ladi. Buning uchun tkinter modulining vidjetlaridan foydalanamiz.

VidjetVazifasiVidgetVazifasi
LabelMa'lumot chiqarish uchun matnli maydon hosil qiladi.TextMa'lumot chiqarish uchun matnli maydon hosil qiladi.
ComboboxOchiluvchi ro'yxat yaratadi.EntryMatn kiritadigan maydon hosil qiladi.
SpinboxKo'paytiruvchi va kamaytiruvchi tugmalarga ega kiritish qatorini hosil qiladi.OptionMenu()Tanlanadigan menyu hosil qiladi.
ProgressbarJarayonni ko'rsatuvchi vidjet yaratadi.RadiobuttonRo'yxatdan bittasini tanlashda ishlatiladigan vidjet.
checkbuttonRo'yxatdan bir nechtasini tanlashda ishlatiladigan vidjet.ButtonBoshqarish tugmasi.
PhotoImageDastur oynasiga rasm joylashtirish uchun vidjet  

Masala. Tkinterdan foydalanib "Hello World" dasturini tuzing.

import tkinter
oyna=tkinter.Tk()
l=tkinter.Label(oyna, text="Hello World!")
l.pack()
oyna.mainloop()

Xulosa.

Python dasturlash tilining standart modullari, funksiyalari haqida butun boshli kitob yozsa bo'ladi. Ushbu maqola orqali ko'p foydalaniladigan ayrim funksiyalar haqida ma'lumot berib o'tdim. Pythonda F1 klavishini bosib qolgan funksiyalar haqida ma'lumot olish mukin. Dastur tuzish jarayonida ko'p vaqt sarflamaslik va ish sifati, unumdorligini oshirish uchun standart modul, funksiyalar haqida batafsil o'rganish muhim ahamiyatga ega.