Python dasturlash maktabi
2.5K subscribers
32 photos
1 file
41 links
@pythonuz kanalida python dasturlash tili Nematillo Ochilov tomonidan bosqichma bosqich bepul o'rgatiladi

@NematilloOchilov - blog
@pythonuz - Python darslari
@js_uz - Java Script
@MQLUZ - Savdo robotlarni dasturlash
Download Telegram
Python dasturlash maktabi
Funksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod…
Ⓜ️ lambda funksiyasi

Python lambdalari kichik, nomsiz funktsiyalar bo'lib, oddiy Python funksiyalariga qaraganda imkoniyatlari kam, ammo ixchamroq sintaksisga ega.Lambda funksiyalari istalgan miqdordagi argumentlarga ega bo'lishi mumkin, ammo funksiya faqat bitta ifodani qaytaradi.


def pythonuz(x):
return x

pythonuz nomli oddiy funksiya x argumentini o'ziga oldi va uni qaytardi.Shu funksiyani lambda ko'rinishi

lambda x: x

3 ta argumentdan iborat lambda funksiyasiga namuna:
x = lambda a, b, c: a * b + c
print(x(4, 5, 6))
26

Argumentga 1 sonini qo'shuvchi lambda funksiyani 2 xil ko'rinishda ishga tushirib ko'ramiz.
1) O'zgaruvchiga lambda berish orqa
li
pythonuz = lambda x: x + 1
print(pythonuz(3))
4

2) Funksiya va uning argumentini alohida qavsga olish orqali
print((lambda x: x + 1)(3))
4

Nomsiz funksiyalar o'rni oddiy funksiyalar ichida ishlatilganda seziladi.


def oddiy(n):
return lambda a: a * n


nomsiz = oddiy(2)
print(nomsiz(11))

22


def myfunc(n):
return lambda a : a * n


mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))

22
33


Lambda ichida shartlarni ham tekshirishimiz mumkin.Sonlarni juft yoki toq ekanini aniqlovchi lambda funksiyasini yozamiz.
print((lambda x: (x % 2 and 'toq son' or 'juft son'))(4))
juft son


Quyida 1, 2 va 3 sonlar yig'indisini hisoblovchi lambda funksiyalarni har xil uslubda yozib ishga tushiramiz.
(lambda x, y, z: x + y + z)(1, 2, 3)
6
(lambda x, y, z=3: x + y + z)(1, 2)
6
(lambda x, y, z=3: x + y + z)(1, y=2)
6
(lambda *args: sum(args))(1,2,3)
6
(lambda **kwargs: sum(kwargs.values()))(one=1, two=2, three=3)
6
(lambda x, *, y=0, z=0: x + y + z)(1, y=2, z=3)
6

@pythonuz
var = lambda a: 'Ism: ' + a
print('Ism: Nematillo' == var('Nematillo'))
Anonymous Quiz
26%
True
29%
False
28%
TypeError
17%
SyntaxError
Testlarni dasturlashga oid guruhlarga ulashing.
Python dasturlash maktabi
Photo
Toʻgʻri javobni toping?
Anonymous Quiz
18%
8
32%
15
24%
75
26%
125
Python dasturlash maktabi
Photo
Toʻgʻri javobni toping?
Anonymous Quiz
17%
8
33%
15
34%
24
16%
35
Python dasturlash maktabi
Funksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod…
Ⓜ️ Modullar

Pythonda uchta asosiy modul mavjud:
1) o'zingiz yozgan,
2) tashqi manbalardan o'rnatilgan
3) Python bilan oldindan o'rnatilgan modullar.

Python bilan oldindan o'rnatilgan modullar ro'yxati string, re, datetime, math, random, os, multiprocessing, subprocess, socket, email, json, doctest, unittest, pdb, argparse va sys




Modul bu loyiha ichidagi class, funksiya va o'zgaruvchilardan tashkil topgan alohida fayl bo'lib dastur kodini tushunarli va ixchamlashtirish uchun xizmat qiladi.

C/C++ dasturlash tilida yozilgan kod fayllarini ham python dasturiga chaqirib olish mumkin.

Shaxsiy tajribamdan kelib chiqib dasturning asosiy kod bolaklarini main.py faylida ma'lumotlar ombori bilan ishlash qismini baza.py faylida saqlayman. baza nomli moduldagi elementlarni main.py fayli ichida quyidagi ko'rinishda chaqiramiz.

#baza.py
satr = 'Moduldagi satr'
number = 7
lugat = {1: 2}

# main.py
from baza import satr
print(satr)
print(number )

NameError: name 'number' is not defined
Moduldagi satr

Ushbu kodda number nom xatosi kelib chiqdi buni tuzatish uchun main.py faylidagi kodga o'zgartirish kiritamiz.

# main.py
from baza import satr, number
print(satr)
print(number)

Moduldagi satr
7

Moduldan chaqiriladigan elementlar ko'p bo'lganda ushbu usullardan foydalanishingiz mumkin.
1-usul importdan keyin 1 dona ko'paytiruv belgisidan foydalanib
# main.py
from baza import *
print(satr)
print(number)

Moduldagi satr
7

2-usul modul nomi 1 ta nuqta va undan keyin funksiya yoki o'zgaruvchilarni nomini yozish orqali
# main.py
import baza
print(baza.satr)
print(baza.number)

Moduldagi satr
7

Modullar nomi uzun bo'lganda as operatoridan foydalanib modulga qisqa nom berish mumkin.
# main.py
import baza as ba
print(ba.satr)
print(ba.number)

Moduldagi satr
7

@pythonuz