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
Pythonda strings (satrlar)πŸ”€:
1. O'zgaruvchiga bitta satrni yuklash:
a = "Hello"
print(a)

Result (natija): Hello
2. O'zgaruvchiga ko'p qatorli satrni yuklash:
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)

Result (natija): qanday yozilgan bo'lsa shunday holda chiqadi, nuqta, vergul, probeligacha.
Xuddi commentga o'xshab πŸ‘†
Pythonda strings (satrlar)πŸ”€:
1. String ichidagi harfni pozitsiyasiga qarab olish:
a = "string_ichidagi_so'z"
print(a[position_number]

Misol:
a = "Hello World!"
print(a[1])

Result (natija): e harfi chiqadi.
❗️Eslatma: dasturlash tillarida sanoq 0 dan boshlanadi.
Yuqoridagi misolda:
H e l l o W o r l d
0 1 2 3 4 5 6 7 8 9 10
Probel (bo'sh joy ham hisoblanadi) print(a[5]) deganimizda bo'sh joyni ya'ni hech nimani chiqarmas edi.
2. len() funksiyasi yordamida string uzunligini aniqlash mumkin (bunda probel (bo'sh joy) ni ham hisobga oladi):
a = "Hello, World!"
print(len(a))

Result(natija): 13 chiqadi.
πŸ‘1
Python - Slicing String (satrlarni kesish)πŸ”€:
1. 2-pozitsiyadan 5-pozitsiyagacha belgilarni kesish:
b = "Hello, World!"
print(b[2:5])

result(natija): llo qismi chiqadi.
❗️Kesib olish uchun [first_num:second_num] 2 ta son berilganda, first_num (birinchisi) ni hisobga olmaydi , ya'ni [2:5] da 2 dan emas 3 dan boshlab olib ketadi, 3 chi, 4 chi ba 5 chidagi belgilarni oldi.
2. Boshidan 5-pozitsiyagacha belgilarni kesish:
b = "Hello, World!"
print(b[:5])

result(natija): Hello , qismi chiqadi. first_num (birinchisi) berilmasa default 0 ni oladi.
3. 2-chi pozitsiyadan oxirgacha kesish:
b = "Hello, World!"
print(b[2:])

result(natija): llo World , chiqadi. second_num (ikkinchi son) berilmasa oxirgacha oladi.
4. Stringda sanoqni teskari olish:
b = "Hello, World!"
print(b[-5:-2])

result(natija): orl , chiqadi.
Chunki:
H e l l o W o r l d
-11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Xuddi boyagidek πŸ‘†
❗️Eslatma: bunda e'tibor berish first_num (birinchi son) -5 ga teng, shuning uchun -5 dan emas -4 dan boshlab olib ketadi.
(Manfiy tartiblash telefonda xunuk chiqib qoldi, kompyuterdan kirsayiz norm turadi)
Pythonda satrlarga qo'shimcha (so'z yoki son) qo'shishπŸ”€:
1. format() metodi orqali:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

result(natija): My name is John, and I am 36 . chiqadi
❗️format() metodi text ning ichidan {} qavsni topib, shuning o'rniga, o'ziga berilgan qiymatni ya'ni age qo'yib qo'yadi.
1️⃣Bu usuldan ko'proq o'zgaruvchilar uchun foydalanish ham mumkin
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

result(natija): I want quantity pieces of item itemno for price dollars . chiqadi
❗️ Bu yerda ham format() metodi {} qavslarni birin ketin qidirib topib, o'ziga berilgan qiymatlarni birin ketin qo'yayapti.
2️⃣format() metodagi elementlar tartibini o'zimiz belgilasak ham bo'ladi.
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

result(natija): I want to pay 49.95 dollars for 3 pieces of item 567 . chiqadi.
πŸ”₯1
Pythonda stringda yozishda "qo'shtirnoq" yoki 'birtirnoq' dan foydalaniladi. Stringni qaysi birida yaratdganingizdan qat'iy nazar, shu string ichida yana shu belgidan foydalansangiz xatolik beradi.
txt =  "We are the so-called "Uzbeks" from the Central Asia." 

Bunda syntaktik xato beradi.
😎 ammo buni ham iloji bor.
Biz ichkarida kelgan belgi (" , ') oldidan \ (backslash) ishlatsak xato bermaydi.
txt =  "We are the so-called \"Uzbeks\" from the Central Asia."

Bizda yana shunaqa belgilardan:
1. \n mavjud. Bu belgilardan keyin yozilganlar pastki qatorga tushib ketadi
a = "Hello\nWorld"

result(natija):
Hello
Wordl

2. \t bu o'zidan keyingi yozuvlarni bitta tab oldinga suradi.
txt = "Hello\tWorld!"
print(txt)

result(natija): Hello World
3. \b bu (\t) ning teskarisi, ya'ni o'zidan oldin qancha bosh joy bo'lsa olib tashlaydi.
txt = "Hello    \bWorld!"
print(txt)

result(natija): HelloWorld
Pythonda String methodlariπŸ”€:
Methodlar bu ma'lum vazifani bajarish uchun mo'ljallangan, tayyor yozilgan funksiyalar.
Yozilish tartibi
string_nomi.method_nomi()

1️⃣. capitalize()
Textning birinchi harfini ya'ni so'zboshini bosh harf qilib beradi.
txt = "hello, and welcome to my world."
x = txt.capitalize()
print (x)

result(natija): Hello, and welcome to my world.
2️⃣.title()
Textdagi barcha so'zlarning birinchi harfini bosh harf qilib beradi.
txt = "Welcome to my world"
x = txt.title()
print(x)

result(natija): Welcome To My World
3️⃣.upper()
Textdagi barcha harflarni katta harf qilib beradi.
txt = "Hello my friends"
x = txt.upper()
print(x)

result(natija): HELLO MY FRIENDS
4️⃣.lower()
Textdagi barcha harflarni kichik harf qilib beradi.
txt = "HELLO my FRIENDS"
x = txt.upper()
print(x)

result(natija): hello my friends
5️⃣.split()
Textdagi so'zlarni default probelga (bo'sh joyga) qarab kesib olib listga joylaydi.
txt = "welcome to the jungle"
x = txt.split()
print(x)

result(natija): ['welcome', 'to', 'the', 'jungle'].
Bular string methodlarining bir qismi. Ko'proq ma'lumot olish uchun
πŸ”‚https://www.w3schools.com/python/python_ref_string.asp
Pythonda booleansπŸ…±οΈ:
Boolean ma'lumot turi ikkita qiymat qaytaradi: True va False
print(10 > 9)
print(10 == 9)
print(10 < 9)

result(natija):
True
False
False
Qiymat va o'zgaruvchilarni baholashda bool() funksiyasidan foydalanamiz. Bizga True yoki False qaytaradi.
print(bool("Hello"))
print(bool(15))

result(natija):
True
True
‼️Bunda har string yoki son yuklatilgan o'zgaruvchi da bitta bo'lsa ham harf yoki ❗️0 dan tashqari istalgan son bo'lsa ham True qaytaradi. O'zgaruvchi bo'sh bo'lsa ya'ni unda umuman ma'lumot bo'lmasa yoki 0 ga teng bo'lsa bool() funksiya False qaytaradi.
bool(False)
bool(None)
bool(0)
bool("") #string
bool(()) #tuple
bool([]) #list
bool({}) #dict bularni keyinchalik o'tamiz

result(natija):
False
False
False
False
False
False
False
Python operatorlarni quyidagi guruhlarga ajratadi↙️:

1. Arifmetik operatorlar
2. Belgilash operatorlari
3. Taqqoslash operatorlari
4. Mantiqiy operatorlar
5. Identifikatsiya operatorlari
6. A'zolik operatorlari
7. Bitli operatorlar
πŸ‘†Yuqorida bazilari haqida ma'lumot berganman: https://t.me/python_core_oop/17
πŸ”‚Ko'proq ma'lumot uchun: https://www.w3schools.com/python/python_operators.asp
#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