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
❗️Ha aytgancha python dasturlash tilida birinchi bilish kerak bo'lgan narsamiz, chop etish print() methodi orqali amalga oshiriladi.
print("Hello World")
Pythonda o'zgaruvchilar:

1. str (string - matn) # x = "salom"
2. int (integer - butun son) # x = 4
3. float (float - haqiqiy son) # x = 4.0
O'zgaruvchilar type (turini) bilish uchun type() methodidan foydalaniladi.
x = "salom"
print(type(x))
string
Pythonda ma'lumot turlari.
Python dasturlash tilida quyidagi operatorlar mavjud:

1. Arifmetik operatorlar:
'+' qo'shish
'-' ayirish
'*' ko'paytirish
'/' bo'lish
'//' butun bo'lish
'%' qoldiqni olish
darajaga oshirish
a = 5
b = 2

sum_result = a + b
difference_result = a - b
product_result = a * b
division_result = a / b
floor_division_result = a // b
modulus_result = a % b
power_result = a b

print("Sum:", sum_result)
print("Difference:", difference_result)
print("Product:", product_result)
print("Division:", division_result)
print("Floor Division:", floor_division_result)
print("Modulus:", modulus_result)
print("Power:", power_result)
2. Ta'riflash (Comparison) operatorlari:
'==' tengmi
'!=' teng emas
'<' kichik
'>' katta
'<=' kichik yoki teng
'>=' katta yoki teng
x = 10
y = 5

equal_result = x == y
not_equal_result = x != y
less_than_result = x < y
greater_than_result = x > y
less_than_or_equal_result = x <= y
greater_than_or_equal_result = x >= y

print("Equal:", equal_result)
print("Not Equal:", not_equal_result)
print("Less Than:", less_than_result)
print("Greater Than:", greater_than_result)
print("Less Than or Equal:", less_than_or_equal_result)
print("Greater Than or Equal:", greater_than_or_equal_result)

3. Mantikaviy (Logical) operatorlar:
'and' va
'or' yoki
'not' emas
p = True
q = False

and_result = p and q
or_result = p or q
not_result_p = not p
not_result_q = not q

print("AND:", and_result)
print("OR:", or_result)
print("NOT P:", not_result_p)
print("NOT Q:", not_result_q)
πŸ‘2
Python numbers (sonlar)0️⃣1️⃣2️⃣3️⃣:
Pythonda uchta raqamli tur mavjud:
1. int
2. float
3. complex
x = 1    # int
y = 2.8 # float
z = 1j # complex
πŸ‘1
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