⬅️ Bosh sahifaga
1 / 8

Python String Advanced

split(), join(), f-stringlar, startswith(), endswith()
Ilg'or String metodlari bilan tanishing

split() metodi

Stringni bo'laklarga ajratish uchun ishlatiladi

string.split(separator, maxsplit)

Asosiy misollar:

# Oddiy split matn = "olma,nok,uzum,shaftoli" mevalar = matn.split(",") print(mevalar) # ['olma', 'nok', 'uzum', 'shaftoli'] # Bo'sh joy bo'yicha split (default) gap = "Salom dunyo Python" sozlar = gap.split() print(sozlar) # ['Salom', 'dunyo', 'Python'] # Cheklangan split matn = "a-b-c-d-e" natija = matn.split("-", 2) print(natija) # ['a', 'b', 'c-d-e']
💡 Maslahat: Agar separator ko'rsatilmasa, Python barcha bo'sh joylarni (space, tab, newline) separator sifatida ishlatadi.

join() metodi

List elementlarini bitta stringga birlashtiradi

separator.join(iterable)

Turli xil misollar:

# Oddiy join mevalar = ['olma', 'nok', 'uzum'] natija = ", ".join(mevalar) print(natija) # "olma, nok, uzum" # Turli ajratgichlar bilan sozlar = ['Python', 'juda', 'ajoyib'] print(" ".join(sozlar)) # "Python juda ajoyib" print("-".join(sozlar)) # "Python-juda-ajoyib" print("".join(sozlar)) # "Pythonjudaajoyib" # Raqamlar bilan raqamlar = ['1', '2', '3', '4'] print("-".join(raqamlar)) # "1-2-3-4"
🔄 split() va join() birgalikda:
matn = "Python,Java,C++,JavaScript" tillar = matn.split(",") yangi_matn = " | ".join(tillar) print(yangi_matn) # "Python | Java | C++ | JavaScript"

f-stringlar (f-string literals)

Python 3.6+ da eng zamonaviy string formatlash usuli

f"Matn {o'zgaruvchi} davomi"

Asosiy misollar:

# Oddiy o'zgaruvchilar ism = "Ali" yosh = 25 print(f"Mening ismim {ism}, yoshim {yosh}") # "Mening ismim Ali, yoshim 25" # Hisoblashlar a, b = 10, 5 print(f"{a} + {b} = {a + b}") # "10 + 5 = 15" # Metodlarni chaqirish ism = "python" print(f"Katta harflar: {ism.upper()}") # "Katta harflar: PYTHON"

Formatlar bilan:

# Raqamlarni formatlash narx = 1234.567 print(f"Narx: {narx:.2f} so'm") # "Narx: 1234.57 so'm" # Foizlar foiz = 0.85 print(f"Natija: {foiz:.1%}") # "Natija: 85.0%"

startswith() metodi

String ma'lum belgilar bilan boshlanadimi tekshiradi

string.startswith(prefix, start, end)

Turli xil misollar:

matn = "Python dasturlash tili" # Oddiy tekshirish print(matn.startswith("Python")) # True print(matn.startswith("Java")) # False # Bir nechta variantni tekshirish print(matn.startswith(("Python", "Java", "C++"))) # True # Ma'lum pozitsiyadan boshlab print(matn.startswith("dastur", 7)) # True
🔍 Amaliy misol - URL tekshirish:
def url_tekshir(url): if url.startswith(("http://", "https://")): return "To'g'ri URL" return "Noto'g'ri URL" print(url_tekshir("https://python.org")) # To'g'ri URL

endswith() metodi

String ma'lum belgilar bilan tugaydimi tekshiradi

string.endswith(suffix, start, end)

Turli xil misollar:

fayl = "document.pdf" # Oddiy tekshirish print(fayl.endswith(".pdf")) # True print(fayl.endswith(".txt")) # False # Bir nechta kengaytma print(fayl.endswith((".pdf", ".doc", ".txt"))) # True # Ma'lum oraliqni tekshirish matn = "Python dasturlash" print(matn.endswith("dastur", 0, 13)) # True
📁 Amaliy misol - Fayl filtrlash:
fayllar = ["doc.pdf", "music.mp3", "photo.jpg", "code.py"] # Rasm fayllarini topish rasm_fayllar = [f for f in fayllar if f.endswith((".jpg", ".png"))] print(rasm_fayllar) # ['photo.jpg']

Amaliy misollar

Barcha metodlarni birgalikda ishlatish

1. CSV ma'lumotlarni qayta ishlash:

csv_matn = "Ali,25,Toshkent\nVali,30,Samarqand\nGuli,22,Buxoro" qatorlar = csv_matn.split('\n') for qator in qatorlar: ism, yosh, shahar = qator.split(',') print(f"Ismi: {ism}, Yoshi: {yosh}, Shahri: {shahar}")

2. Email validatsiya:

def email_tekshir(email): if email.endswith(("@gmail.com", "@mail.ru", "@yandex.com")): return f"{email} - to'g'ri email" return f"{email} - noto'g'ri email" print(email_tekshir("[email protected]"))

3. Fayl nomi generatori:

def fayl_nomi_yarat(nom, kengaytma): if not nom.endswith(f".{kengaytma}"): return f"{nom}.{kengaytma}" return nom print(fayl_nomi_yarat("document", "pdf")) # document.pdf

Xulosa

📊 Asosiy metodlar:

  • split() - stringni bo'laklarga ajratish
  • join() - listni stringga birlashtirish
  • f-stringlar - zamonaviy formatlash
  • startswith() - boshlanish tekshirish
  • endswith() - tugash tekshirish

💡 Muhim xususiyatlar:

  • Barcha metodlar yangi string qaytaradi
  • Asl string o'zgarmas qoladi
  • Tuple bilan bir nechta variant tekshirish mumkin
  • f-stringlar eng tez va oson usul

🚀 Keyingi qadamlar:

  • Bu metodlarni turli loyihalarda qo'llang
  • Regex bilan birgalikda ishlatishni o'rganing
  • Performance optimizatsiyasi ustida ishlang
  • Real loyihalarda amaliy misollar yarating
🎉 Rahmat! Savollar bormi?