Loading...

Сап ыкмалары(методы строки)

Сап ыкмалары(методы строки)

“метод ” түшүнүгү

Метод түшүнүгү бизге объектке багытталган программалоо ыкмасынан (OOП) келип чыккан. Мен түшүнөм, изилдөөнүн бул этабында сиз OOП менен тааныш эмессиз, ошондуктан биз бул теманы жөнөкөй тилде чечүүгө аракет кылабыз.

Метод - бул жөн гана объекттин белгилүү бир түрү менен байланышкан жана белгилүү бир мааниге колдонулган функция. Ар бир жеке маалымат түрү өзүнүн ыкмаларына ээ. Биз бул бөлүмдө "сап" сыяктуу маалымат түрү менен тааныштык. Саптарда аларга колдонула турган белгилүү бир ыкмалар топтому бар. Метод менен сиз белгилүү бир жөндөмдү да айта аласыз. Жана жакында сиз билесиз " жөндөмдүүлүктөр"А саптары бар.

Методду колдонуу үчүн аны чакырышыңыз керек. Бул төмөнкүдөй көрүнөт:

объект.метод(аргументы)

Аргументтер сиз иштеп жаткан ыкмага жараша кашаадагы ыкмадан кийин берилиши мүмкүн

 

upper() методу

Бул ыкма саптагы бардык тамгаларды баш тамгага которот. Эгерде сапта символдор же сандар болсо, алар өзгөрүүсүз калат.

@A@a = 'salam'.upper()

print(a)

b = 'dostor'.upper()

print(b)@A@

 

@T@SALAM

DOSTOR@T@

 

Методду чакыргандан кийин кашааларды коюуну унутпаңыз. Бул учурда Python мындай ыкма бар экенин айтып берет, бирок ал аны чакырбайт, б.а. Бул ыкманын функционалдуулугу катышпайт:

@A@'hello'.upper

<built-in method upper of str object at 0x000001C0FC0BABB0>@A@

 

lower()методу upper() методуна карама-каршы келет жана бүт сапты кичине тамгага которот.

@A@a = 'SaLAM'.lower()

print(a)

b = 'dOStor'.lower()

print(b)@A@

@T@salam

dostor@T@

               

Акыркы сабакта мен сап өзгөрбөс объект экенин айттым - бул төмөнкүнү билдирет: саптын кандай гана ыкмасы болбосун саптын өзүн өзгөртпөйт. Эгерде сиз сапты өзгөрткүңүз келсе, анда методдун аткарылышынын натыйжасын ушул өзгөрмөдө сакташыңыз керек.

@A@s = 'salam dostor'

print(s.upper())

print(s)

s = s.upper() # s жаны маанини жазыныз

print(s)

s = s.lower() # s жаны маанини кайрадан жазыныз

print(s)@A@

 

@T@SALAM DOSTOR

salam dostor

SALAM DOSTOR

salam dostor@T@

 

Count() методу

Бул ыкма сан катары которулат. Бул ыкма менен сиз сапыңыздагы кандайдыр бир подсапка канча жолу туш болгонуңузду санай аласыз.

@A@s = 'salam dostor'

print(s.count('a')) # 'a' тамгасы сапта канча жолу кездешет@A@

Натыйжа: 3

count()ыкмасы кеминде 1 талап кылынган аргументти талап кылат. Эгер аргументтерди тапшырбасаңыз, ката аласыз:

@E@'salam'.count()

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in <module>

    'salam'.count()

TypeError: count() takes at least 1 argument (0 given)@E@

 

Find() методу

  • Бул ыкма саптагы субсаптын индексин табуу үчүн колдонулат.
  • Бул функция s[start:end] кесиминин ичинде "суб" сабы турган саптагы эң кичине индексти кайтарат.
  • Баштапкы демейки маани 0 жана кошумча аргумент. Ал бир, эки же үч аргумент менен да аталат.
  • Эч нерсе табылбаса, ыкма -1 кайтып келет. Издөө солдон оңго жүргүзүлөт жана биринчи табылган элементтин индекси кайтарылат.

@A@s = 'salam dostor'

print(s.find('a'))

print(s.find('o'))

print(s.find('r'))

print(s.find('d'))@A@

 

 

@T@1

7

11

6@T@

 

rfind() методу

Эгер сиз сапыңыздын башка учунан издөө керек болсо, анда окшош rfind() ыкмасын колдонсоңуз болот. Издөө оңго кетет жана сиз издөө аралыгын чектей аласыз.

@A@s = 'salam dostor'

print(s.rfind('a'))

print(s.rfind('o'))

print(s.rfind('r'))

print(s.rfind('d'))@A@

@T@3

10

11

6@T@

 

replace () методу

  • Pythonдогу replace() () функциясы башка саптын кээ бир бөлүктөрүн алмаштыруу менен сапты түзүү үчүн колдонулат. Баштапкы сап өзгөрүүсүз бойдон калууда.
  • Жаңы сап - эски саптын бардык көрүнүштөрү жаңысына алмаштырылган баштапкы саптын көчүрмөсү. replace алмаштыруу деген котормолорду алмаштыруу.
  • Ал эки талап кылынган параметр бар экенин белгилей кетүү керек. Биринчиси эмнени өзгөртөбүз, экинчиси эмнеге өзгөрөбүз.
  • Бирок сиз үчүнчү кошумча параметрден өтсөңүз болот - аткарылуучу жана аягына чыга турган алмаштыруулардын максималдуу саны

@A@s = 'salam dostor'

print(s.replace('a','e'))

print(s.replace(' ',''))

print(s.replace('o','?'))@A@

@T@selem dostor

salamdostor

salam d?st?r@T@

 

isalpha() методу

Бул ыкма сап толугу менен тамгалардан турушун текшерет. Эгерде сап тамгалардан башка символдорду камтыса, мисалы, сан же кээ бир атайын символдор, анын ичинде боштук, анда ал False деп бааланат. Символдун иши маанилүү эмес.

@A@s = 'salam dostor'

print(s.isalpha())

s = 'salam'

print(s.isalpha())

s = 'salam ? @'

print(s.isalpha())@A@

@T@False

True

False@T@

 

 

isdigit() методу

  • Саптын толугу менен цифралардан турушун текшере турган ыкма да бар.
  • Эгерде сапта күтүлбөгөн жерден цифра эмес кандайдыр бир белги пайда болсо, анда False кайтарылат. Эгер сапты бүтүн санга айландыруу керек болсо, бул текшерүү абдан пайдалуу.
  • Бул учурда, биз ката албайбыз, бирок бизде бош орун болсо, программа дароо False кайтарып берет.

@A@s = 'salam dostor'

     print(s.isdigit())

s = '123'

print(s.isdigit())

s = '-123'

print(s.isdigit())@A@

@T@False

True

False@T@

ljust()  жана rjust() методу

  • Бул ыкмалар саптын туурасы болгон бир талап кылынган параметрди алат.
  • Эгерде сап аргументтин маанисинен азыраак болсо, анда ал демейки боюнча боштуктар менен толтурулат: ljust()сол жакта боштуктарды, ал эми rjust() оң жакта боштуктарды.
  • Толтургучтун символун экинчи параметр катары өткөрүү менен өзгөртө аласыз.

@A@d = '222'

print(d.rjust(5))

print(d.ljust(5))

print(d.rjust(5,'s'))

print(d.ljust(5,'s'))@A@

       @T@222

222 

ss222

222ss@T@

 

split () методу

  • Python'догу бөлүү ыкмасы сапты атайын бөлгүчтүн жардамы менен бөлүктөргө бөлөт (демейки - боштук) жана ал бөлүктөрдү тизме катары кайтарат.
  • Тизмеге кийинчерээк киребиз.
  • Бул ыкма сиз сапта канча сөз бар экенин билгиңиз келгенде пайдалуу.

@A@w = 'asanov asan asanovich'

print(w.split())

print(len(w.split()))

print(w.split('n'))

print(len(input().split()))@A@

@T@['asanov', 'asan', 'asanovich']

3

['asa', 'ov asa', ' asa', 'ovich']@T@

 

join() методу

  • Pythonдогу join кошулуу ыкмасы белгилүү бир көрсөткүчтү колдонуу менен саптардын тизмесин бириктирүү үчүн жооптуу. Бул көбүнчө тизмени сапка которууда колдонулат.
  • Адегенде кошулуу сабын жазасыз, андан кийин чекит коюп, join()ыкмасын чакырасыз. Кашанын ичинде тизмени же башка сапты сактаган өзгөрмөнү көрсөтүңүз.
  • Биринчи жана акыркы элементтин алдында бөлүүчү сап болбойт.

 

@A@w = 'asanov asan asanovich'

s = w.split()

print(s)

print('!'.join(s))

y = 'salam dostor'

print('!'.join(y))@A@

@T@['asanov', 'asan', 'asanovich']

asanov!asan!asanovich

s!a!l!a!m! !d!o!s!t!o!r@T@

 

                                                 strip () методу

  • strip()методу саптын көчүрмөсүн кайтарып, алдыңкы жана кийинки символдорду (өткөрүлгөн сап аргументине жараша) алып салат.
  • Метод аргументке жараша (чыгарыла турган символдордун жыйындысын белгилеген сап) сол жана оң жагындагы символдорду жок кылат.
  • rstrip()методу символдорду оңдон, ал эми lstrip() - солдон тилкелейт

 

@A@q = ' salam \n'

print(q)

print(q.strip())

print(q.lstrip())

print(q.rstrip())@A@

@T@salam

salam

salam

         salam@T@