String Methods

Python-da hamma narsa ob'ekt hisoblanadi.

String metodlari

Python-da hamma narsa ob'ekt hisoblanadi. Bu qanchalik foydali bo‘lishini introspeksiya haqida o‘rganganingizda Classes bo'limida bilib olasiz. Hozircha esa shuni bilingki, Stringlar ustida qo‘llaniladigan metodlar (yoki funksiyalar) mavjud.

Quyida uchta misol keltirilgan:

1 >>> name = 'mike'
2 >>> name.capitalize()
3 'Mike'
4 >>> name.upper()
5 'MIKE'
6 >>> 'MIke'.lower()
7 'mike'

Metodlarning nomlari nima qilishlarini anglatadi. Masalan, .capitalize() metodi Stringdagi birinchi harfni katta harfga aylantiradi.

Siz foydalanishingiz mumkin bo‘lgan metodlar va atributlarning to‘liq ro‘yxatini olish uchun Pythonning ichki dir() funksiyasidan foydalanishingiz mumkin:

1 >>> dir(name)
2 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__',
3 '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__',
4 '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',
5 '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
6 '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
7 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find',
8 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit',
9 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper',
10 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind',
11 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith',
12 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

Ro‘yxatning birinchi qismi maxsus metodlar bo‘lib, ular "dunder metodlar" (ya'ni ikki chiziqcha bilan boshlangan metodlar) deb ataladi yoki "sehrli metodlar" deb nomlanadi. Hozircha ularni e'tiborsiz qoldirishingiz mumkin, chunki ular asosan o‘rta va ilg‘or holatlar uchun ishlatiladi. Ro‘yxatda ikki chiziqchali bo‘lmagan metodlar esa siz ko‘proq foydalanadigan metodlar hisoblanadi.

Stringlarni tahlil qilish yoki o‘zgartirishda .strip() va .split() metodlari ayniqsa foydali hisoblanadi. Siz .strip() va uning .rstrip() hamda .lstrip() variantlaridan foydalanib, String boshidagi va oxiridagi bo‘sh joylarni, shu jumladan tabulyatsiya va yangi qator belgilarini olib tashlashingiz mumkin. Bu metodlar matn faylini o‘qib, uni tahlil qilishingiz kerak bo‘lgan holatlarda juda foydali.

Ko‘pincha siz Stringdagi qator oxiri belgilarini olib tashlaysiz va keyin natijani bo‘laklarga ajratish uchun .split() metodidan foydalanasiz.

Keling, Stringning ikkinchi so‘zini qanday ajratib olishni o‘rganuvchi kichik mashqni bajarib ko‘ramiz.

Avvaliga mana bu Stringga qarang:

1 >>> my_string = 'Bu so‘zlardan iborat String'
2 'Bu so‘zlardan iborat String'

Endi Stringni bo‘laklash uchun .split() chaqirish mumkin, quyidagicha:

1 >>> my_string.split()
2 ['Bu', 'so‘zlardan', 'iborat', 'String']

Natijada Stringlar ro‘yxati hosil bo‘ladi. Odatda bu natijani o‘zgaruvchiga berasiz, lekin hozircha buning shart emasligini ko‘rsatish uchun bu qadamni o‘tkazib yuborishingiz mumkin.

Endi natijani ro‘yxat sifatida bilganingizdan so‘ng, ro‘yxatdan ikkinchi elementni olish uchun indekslashdan foydalanishingiz mumkin:

1 >>> 'Bu so‘zlardan iborat String'.split()[1]
2 'so‘zlardan'

Eslatma

Eslatib o‘tamiz, Python-da ro‘yxatlar elementlari 0 dan boshlanadi, shuning uchun siz 1-chi elementni so‘raganingizda, ro‘yxatdagi ikkinchi element olinadi.

Ishda String tahlili bilan shug‘ullanganimda, .strip() va .split() metodlaridan foydalanib kerakli ma'lumotni juda samarali olish mumkinligini ko‘rdim. Ba'zan siz muntazam ifodalar (regex) ishlatishingiz kerak bo‘ladi, lekin ko‘pincha ushbu ikkita metod yetarli bo‘ladi.

Ushbu sahifada

Xato haqida xabar berish