Ma’lumotni qanday saqlash kerak va matn Python ichida qanday yashaydi
9-sinfAdvanced Back-end va DevOps4-hafta · 10-darsNima u va nega to‘g‘ri tanlash muhim
Belgilar ketma-ketligi va yaratishning 3 usuli
Stringni o‘zgartirib bo‘lmaydi - yangisini yaratamiz
Ma’lumotni xotirada qanday saqlash va joylashtirish
O‘xshatish: omborxonadagi javonlar. Poyabzal uchun bir javon, kitob uchun boshqa - to‘g‘ri javon tanlansa, narsa tez topiladi.
Oddiy ish uchun o‘nlab qator
Qidiruv uzoq davom etadi
Chalkash kodda bug yashirinadi
Noto‘g‘ri ma’lumotlar tuzilmasi tanlansa nima bo‘lmaydi?
Belgilar ketma-ketligi
A, b
"1", "9" - matn sifatida
!, @, #
" " - u ham belgi
s1 = "Hello"
s2 = 'Hello'
Qo‘shtirnoq yoki bir tirnoq - ikkalasi ham bir xil.
s1 = "Hello"
s2 = 'Hello'
s3 = """Bu
ko'p qatorli
matn"""
print(s3)
"""..."""
a = "O'zbekiston" # ichida ' bor -> tashqi "
b = 'U dedi: "Salom!"' # ichida " bor -> tashqi '
Xato bo‘lsa nima bo‘ladi? Pastga
a = 'O'zbekiston'
SyntaxError: unterminated string literal
' da stringni yopilgan deb o‘ylaydi.Immutable: o‘zgartirish o‘rniga yangi string
s = "Python"
s[0] = "J"
TypeError: 'str' object does not support item assignment
s[0] - 0-indeksdagi belgi (P). Python sanoqni 0 dan boshlaydi.
s = "Python"
s2 = "J" + s[1:]
print(s) # Python (o'zgarmadi)
print(s2) # Jython
Ichidagi belgini almashtirib bo‘lmaydi.
s[1:] - asl stringdan nusxa bo‘lak.
"J" + s[1:] - + doim yangi string yaratadi.
s = "Salom"; t = "K" + s[1:]; print(s, t) nima chiqaradi?
s o‘zgarmaydi; t - yangi string.s[0] = "J" -> TypeError
"J" + s[1:], s + "!" - asl string joyida qoladi.
"...", shahringizni '...' bilan yarating va chiqaring."""...""" bilan 3 qatorli maqol; s = "Python", "J" + s[1:] natijasini bashorat qiling."Salom" dan "Kalom" va "Salom!" yasang, asl so‘z o‘zgarmaganini isbotlang.Ma’lumotlar tuzilmasi va 5 turi. String: "...", '...', """...""". Immutable: yangi string yaratamiz.
string_asos.py: 3 usul, Jython/Cython, tuzilmalarni moslashtirish.
Keyingi dars: indeks, slicing va string metodlari.