PYTHONπŸ”€πŸ†“
56 subscribers
43 photos
41 videos
11 files
56 links
Python dasturlash tilini birga o'rganamizπŸ€“πŸ«‘. Learning python together. Tips and tricks. With real projects.
Contact me: @imsafarov
Download Telegram
#python #birthday

πŸŽ‰πŸŽ‰πŸŽ‰ Python bugun 33 yoshda πŸŽ‰πŸŽ‰πŸŽ‰

Bugun Pythonning tug'ilgan kuni.

Bizning sevimli dasturlash tilimiz 33 yoshda.

Python - eng mashhur tillardan biri bo'lib qolmoqda. JetBrains tadqiqotiga ko'ra, 2023 yilda dasturchilarning 54 foizi Pythondan kamida bir marta foydalangan.

Rasmiy sayt: python.org
Pythonda Lists (ro'yxatlar):
Ro'yxatlar bitta o'zgaruvchida bir nechta elementlarni saqlash uchun ishlatiladi.
mylist = ["apple", "banana", "cherry"]
print(mylist)

result(natija): ["apple", "banana", "cherry"]

Pythonda listlar [] - to'rtburchak qavslar orqali yasaladi. List ichiga so'zlarni string format, sonlarni oddiy yozsangiz bo'ladi.
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]

result(natija): ["apple", "banana", "cherry"]
[1, 5, 7, 9, 3]
[True, False, False]

Listlar ichidagi ma'lumotlar uning elementlari deb ataladi. Listlarda indeks sanoq 0 dan boshlanadi
Misol uchun
list1 = ["apple", "banana", "cherry"]

list1 dan "apple" 0 chi, 1-"banana" , 2-"cherry" elementlar hisoblanadi.
Ya'ni:
list1 = ["apple", "banana", "cherry"]
print(list1[0])

deydigan bo'lsak "apple" ni chiqaradi
‼️indeksga murojaat qilish
list_name[indeks_num]

list1 = ["apple", "banana", "cherry"]
print(len(list1))

result(natija): 3 chiqadi ya'ni listning uzunligi (ichidagi ma'lumotlar soni) 3 ga teng
πŸ”₯1
Pythonda ma'lumot to'plamini saqlash :
Ma'lumot to'plamini saqlashda 4 ta ma'lumot turi mavjud:

1️⃣ List - bu tartiblangan va o'zgaruvchan to'plam. Takroriy a'zolarga ruxsat beradi.
2️⃣ Tuple - bu tartiblangan va o'zgarmas to'plam. Takroriy a'zolarga ruxsat beradi.
3️⃣ Set - tartibsiz, oΚ»zgarmas* va indekslanmagan toΚ»plamdir. Takroriy a'zolar yo'q.
4️⃣ Dictionary - tartibli** va o'zgaruvchan to'plamdir (key : value). Takroriy a'zolar yo'q.
πŸ”₯1
List MethodsπŸ“œ:
1️⃣ .append() β€” ro'yxat oxiriga 1 dona element qo'shadi
mevalar = ['olma', 'banan', 'qulupnay']
mevalar.append("apelsin")
print(mevalar) #output: ['olma', 'banan', 'qulupnay', 'apelsin']

2️⃣ .clear() β€” o'z nomi bilan listni tozalab yuboradi, ya'ni barcha elementlarini o'chirib yuboradi
mevalar = ['olma', 'banan', 'qulupnay']
mevalar.clear()
print(mevalar) #output []

3️⃣ .copy() β€” bu listdan nusxa olib beradi
mevalar = ['olma', 'banan', 'qulupnay']
x = mevalar.copy()
print(x) #output ['olma', 'banan', 'qulupnay']

4️⃣ .count("qiymat") β€” bu method ichiga list ichidagi elementlardan birini bersangiz listda shu elementlarda nechta borligini aniqlab beradi
mevalar = ['olma',  'banan',  'qulupnay']
mevalar.count("banan")
print(mevalar) #output 1 ni chiqaradi
Agar banan 2 ta bo'lsa,
mevalar = ['olma',  'banan',  'qulupnay', 'banan']
mevalar.count("banan")
print(mevalar) #output 2 ni chiqaradi
5️⃣ .extend() β€” bir listga boshqa bir list elementlarini qo'shib beradi
mevalar = ['olma',  'banan',  'qulupnay']
mashinalar = ['BMW', 'Gentra', 'Nexia 2']
mevalar.extend(mashinalar)
print(mevalar) # ['olma', 'banan', 'qulupnay', 'BMW', 'Gentra', 'Nexia 2']
Baribir Nexia 2 legenda 😜😁
6️⃣ .index("qiymat") β€” ichiga qiymat ya'ni listdagi bir elementni bersangiz, shu elementning listdagi indexini, o'rnini aniqlab beradi
❗️Dasturlashda sanoq 0 dan boshlanadi
mevalar = ['olma',  'banan',  'qulupnay']
x = mevalar.index('qulupnay')
print(x) #output 2 natija chiqadi
['olma', 'banan', 'qulupnay']
[ 0, 1, 2]
7️⃣ .insert(num, element) β€” listga aytgan o'rningizga element kiritadi. Birinchi kiritmoqchi bo'lgan o'rningizni, keyin kiritmoqchi bo'lgan elementingizni kiritasiz method ichiga
mevalar = ['olma',  'banan',  'qulupnay']
mevalar.insert(1, 'apelsin')
print(mevalar) #output
#['olma', 'apelsin', 'banan', 'qulupnay']
#[ 0, 1, 2, 3]

8️⃣ .pop(num) -- ichiga intergerda element o'rnini kiritasiz, shu o'rinda turgan elementni listdan kesib oladi. Indeks bersangiz shu indeksdagi elementni, indeks berilmasa default list oxiridagi elementni qirqib oladi.
mevalar = ['olma',  'banan',  'qulupnay']
x = mevalar.pop(1)
print(mevalar) # output ['olma', 'qulupnay']
print(x) # 'banan'
#banan 1-element bo'lgani uchun qirqib oldi
Indekssiz
mevalar = ['olma',  'banan',  'qulupnay']
x = mevalar.pop()
print(mevalar) # output ['olma', 'banan']
print(x) #output 'qulupnay'

9️⃣ .remove(element) β€” bergan elementingizni listdan o'chirib tashlaydi
mevalar = ['olma',  'banan',  'qulupnay']
mevalar.remove("banan")
print(mevalar) #output ['olma', 'qulupnay']

1️⃣0️⃣ .reverse() β€” bu listdagi elementlarni teskari tartibda joylashtirib beradi.
mevalar = ['olma',  'banan',  'qulupnay']
mevalar.reverse()
print(mevalar) #output ['qulupnay', 'banan', 'olma']

1️⃣1️⃣ .sort() β€” bu listdagi elementlar string formatda bo'lsa, alifbo tartibida, integer formatda bo'lsa, sanoq ketma-ketlikda tartiblab beradi. Listda ham string ham integer formatda elementlar mavjud bo'lsa xato beradi
mevalar = ['olma',  'banan',  'qulupnay']
mevalar.reverse()
print(mevalar) #output ['banan', 'olma', 'qulupnay']

numbers = [3, 6, 8, 1, 9,]
numbers.sort()
print(numbers) #output [1, 3, 6, 8, 9]
Pythonda data types (ma'lumot turlari) tushunarliroq va aniqroq tartibda
Pythonda TupleπŸ”€:

List va Tuple ning farqlari:
(Bir-biriga solishtirib ketaversak ham takrorlash ham eslab qolishga qulay bo'ladi!)
1️⃣. listlar o'zgaruvchilarni o'zgartirish uchun moslashtirilgan, ya'ni ularga elementlarni qo'shish, o'chirish, o'zgartirish mumkin. Bunaqangi, tuplelar o'zgaruvchilarni o'zgartirish uchun moslashtirilmagan, ya'ni ularga o'zgarish kiritish, elementlarni qo'shish, o'chirish yoki o'zgartirish imkonsiz.
⁉️Ammo buning ham iloji bor πŸ˜‰:
Tuple ga element qo'shish, o'chirish, o'zgartirish uchun avval uni listga aylantirib olib, keraklisini bajarib olib keyin uni yana tuple ga o'tkazib qo'yamiz:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
print(thistuple) #output ("apple", "banana", "cherry", "orange")

thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)
print(thistuple) #output ("banana", "cherry")

2️⃣.  Tupleni tuplega qo'shish:
thistuple = ("apple", "banana", "cherry")
y = ("orange",)
thistuple += y
### thistuple += y bu ifoda thistuple = thistuple + y bilan bir xil
print(thistuple) #output ("apple", "banana", "cherry", "orange")

3️⃣. Listni yozishda [] - to'rtburchak qavslardan foydalanar edik, tupleni yaratishda () - oddiy qavslardan foydalanamiz.
4️⃣. Ha aytgancha Tuple 1 ta ma'lumot saqlash tartibi sal boshqacha bo'ladi ya'ni"
thistuple = ("apple",)

tuple ichiga 1 ta ma'lumot yozilsa unda so'ng , vergul qo'yiladi, ya'na ma'lumot bor degandek qilib.
6️⃣. Qo'llanilish sohasi:
Kutilgan holatda, listlarning yuqori qo'llanishi va o'zgaruvchilik imkoniyati borligi uchun keng tarqalgan o'zgaruvchi turlarini saqlash uchun foydalaniladi. Boshqacha, tuplelar ko'proq xavfsiz va qo'llanishni ta'minlash uchun foydalaniladi.
πŸ‘1
Tuple MethodsπŸ“œ:
Tuple da atiga 2 ta method bor:
1️⃣ .count(qiymat) - listdagi bilan bir xil, ichiga tuple ichidagi elementlardan birini bersangiz necha marta takrorlanganini aniqlab beradi.
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.count(5)
print(x) #output 2

2️⃣ .index(qiymat) - listdagi bilan bir xil, ichiga tuple ichidagi elementlardan birini bersangiz, o'sha elementning indeksini ya'ni o'rnini aniqlab beradi.
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
### (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
x = thistuple.index(8)
print(x) #output 3

Dangasalarga mazza bo'ldiya 😁
Pythonda Set πŸ”€:

1️⃣. Set - tartibsiz, o'zgarmas, indekslanmagan to'plamdir.
1. Tartibsiz - set print qilinganda aslidan har safar farq qiladi
fruits = {"apple", "banana", "cherry"}
print(fruits) #output {'cherry', 'apple', 'banana'}, {'cherry', 'banana', 'apple'}, etc.

2. O'zgarmas - * Eslatma: set elementlarini o'zgartirish mumkin emas, lekin elementlarni olib tashlashingiz va yangi elementlar qo'shishingiz mumkin.
3. Indekslanmagan - har safar elementlar o'rni almashgandan keyin indeksga ega bo'lmaydi.
2️⃣. Dublikatlarga ruxsat berilmagan.
Ya'ni set to'plam ichida ikkita bir xil element yozsangiz ham bittasini oladi va bittasini ko'rsatadi.
fruits = {"apple", "banana", "cherry", "apple"}
print(fruits) #output {'cherry', 'apple', 'banana'}, {'cherry', 'banana', 'apple'}, etc.

3️⃣. True va 1 hamda False va 0 ham bir xil element hisoblanadi shuning uchun yuqoridagi qoidaga asosan, Trua va 1 bitta set to'plamda kelib qolsa True qoladi, False va 0 bo'lsa, False qoladi set to'plam ichida.
thisset = {"apple", "banana", "cherry", True, 1, 2}
print(thisset) #output {True, 2, 'banana', 'cherry', 'apple'}

4️⃣. len() methodi orqali set to'plam uzunligini aniqlash mumkin:
thisset = {"apple", "banana", "cherry"}
print(len(thisset)) #output 3

5️⃣. set() konstruktori yordamida boshqa turdagi massivlarni (to'plamlarni) set massiviga o'zgartiriladi:
thisset = set(("apple", "banana", "cherry"))
print(thisset) #output {'banana', 'apple', 'cherry'}, etc.
πŸ”₯1
\
Set MethodsπŸ“œ:
1️⃣. add() - methodi orqali set to'plamga bitta element qo'shish mumkin.
thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
print(thisset)
#output {'banana', 'apple', 'cherry', 'orange'}

2️⃣. clear() - methodi orqali to'plamdagi barcha elementlar o'chiriladi.
thisset = {"apple", "banana", "cherry"}
thisset.clear()
print(thisset) #output set()

3️⃣. copy() - methodi orqali to'plamdan nusxa olaniladi
fruits = {"apple", "banana", "cherry"}
x = fruits.copy()
print(x) #output {'apple', 'cherry', 'banana'}

4️⃣. pop() - methodi set oxiridagi bitta elementni qirqib oladi.
fruits = {"apple", "banana", "cherry"}
fruits.pop()
print(fruits) #output {'apple', 'cherry'}, etc.

❗️pop() - har safar har xil element qirqib oladi.
5️⃣. remove() - methodi set ichidan ayni bir elementni qirqib olish uchun ishlatiladi.
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits) #output {'apple', 'cherry'}

6️⃣. update() - methodi bir setga boshqa bir setni qo'shish uchun ishlatiladi.
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.update(y)
print(x)
#output {'banana', 'apple', 'google', 'microsoft', 'cherry'}

Bular asosiylari. Boshqa methodalari ham mavjud.
#set #methods
Python Dictionary (Lug'atlar) πŸ”€:
1️⃣. Lug'atlar ma'lumotlar qiymatlarini kalit: qiymat juftlarida saqlash uchun ishlatiladi. Hamda {} qavslar orqali yasaladi.
thisdict =  {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)
#output {'brand': 'Ford', 'model': 'Mustang', 'year': 1964}

2️⃣. Lug'at ob'ektlari tartiblangan
Ya'ni lug'at elementlari kalit: qiymat juftliklarida taqdim etiladi va kalit nomidan foydalanib unga biriktirilgan qiymatni olish mumkin.
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict["brand"]) #output Ford

3️⃣. Lug'atlar o'zgaruvchan
Ya'ni lug'at yaratilgandan so'ng elementlarni o'zgartirishimiz, qo'shishimiz yoki olib tashlashimiz mumkin.
4️⃣. Dublikatlarga ruxsat berilmagan
Ya'ni lug'atlarda bir xil kalitga ega ikkita element bo'lishi mumkin emas bunda har doimgi kabi oxirigi kiritilgan qiymat olinadi:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964,
"year": 2020
}
print(thisdict)
#output {'brand': 'Ford', 'model': 'Mustang', 'year': 2020}

5️⃣. Lug'at elementlaridagi qiymatlar har qanday turdagi ma'lumotlarga ega bo'lishi mumkin:
thisdict = {
"brand": "Ford",
"electric": False,
"year": 1964,
"colors": ["red", "white", "blue"]
}

6️⃣. dict() konstruktori orqali lug'atlar yaratilishi mumkin:
thisdict = dict(name = "John", age = 36, country = "Norway")
print(thisdict)
#output {'name': 'John', 'age': 36, 'country': 'Norway'}

#dict
πŸ—Ώ1
Coming soon πŸ˜Žβœ…
πŸ‘2😁1πŸ—Ώ1
Ok guys. Here we go...πŸ₯·
python kitob.pdf
2 MB
🐍 Python dasturlash tilini 0 dan boshlab, Python Core qismini mustaqil o'rganmoqchi bo'lganlar uchun ajoyib kitob πŸ”₯
πŸ”₯1
PYTHONπŸ”€πŸ†“
Python Dasturlash tilida maslalar va ularni yechish usullari.pdf
Learning algoritm🧧:
1. Python Core β€΄οΈβœ…
2. Python OOP πŸ”œπŸ•’
3. Telegram Bots πŸ”œ
4. Django MVT, Django DRF. Real projects. πŸ”œ
5. Interview questions. πŸ”œ
and etc.


Β©@python_core_oop
πŸ‘1
Python OOP (Object Oriented Programming - Ob'ektga yo'nalitirilgan dastulash)
Pythonda OOP tushunchalari:
1. Class in Python - Pythonda sinflar
2. Objects in Python - Pythonda ob'ektlar
3. Polymorphism in Python - Pythonda Polimorfizm
4. Encapsulation in Python - Pythonda Inkapsulatsiya
5. Inheritance in Python - Pythonda meros olish (vorislik)
6. Data Abstraction in Python - Pythonda ma'lumot abstraktsiyasi

@python_core_oop
πŸ‘1
πŸ” OOP nima?
OOP – bu Object-Oriented Programming (obyektga yo'naltirilgan dasturlash) degani. Bu uslubda dastur biror narsa yoki hodisani obyekt sifatida yaratadi.

πŸ”₯ Asosiy tushunchalar:
1️⃣ Class – obyektning qolipi. Bu yerda xususiyatlar (properties) va funksiyalar (methods) belgilanadi.
2️⃣ Object – class asosida yaratilgan haqiqiy nusxa.

πŸ’‘ Oddiy misol:

Tasavvur qiling, siz mashinalarni tasvirlayotgan dastur yozyapsiz. Har bir mashina o'z brendi, modeli va harakati bo'lishi kerak.

# Class yaratamiz
class Car:
def __init__(self, brand, model):
self.brand = brand # Xususiyatlar
self.model = model #Xususiyatlar

def drive(self): #obyektni harakatlantirish uchun method
return f"{self.brand} {self.model} harakatda!"

# Objectlar yaratamiz
car1 = Car("Toyota", "Corolla")
car2 = Car("Chevrolet", "Malibu")

# Natijalarni chop qilamiz
print(car1.drive())
print(car2.drive())

Output:
Toyota Corolla harakatda!
Chevrolet Malibu harakatda!

🎯 Xulosa:

Class – bu "Mashina qanday bo'lishi kerak?" degan savolga javob.
Object – bu ushbu class asosida yaratilgan aniq mashina (Toyota yoki Malibu).

@python_core_oop