Jason. Cała informatyka w jednym miejscu!

Przypatrzymy się teraz paru funkcjom operującym na łańcuchach znaków opisanych szczegółowo parę dni temu. Metody klasy "string" są łatwe do wykorzystywania w Pythonie, więc temat wydaje się odpowiedni dla początkujących. Sięgajcie do środka bez wahania :D!

METODY KLASY "STRING", CZYLI OPERACJE NA ŁAŃCUCHACH ZNAKÓW

Zaznaczam, że to nie będą wszystkie metody jakie występują w Pythonie 3 w chwili obecnej. To będą tylko te najbardziej podstawowe, które znam osobiście. Pragnę jednak zwrócić uwagę na pewne dylematy jakie mogą się pojawić.

METODY? A NIE FUNKCJE?

Nie musi to być traktowane przez kogoś jako czepianie się słówek, aczkolwiek w terminologii programistycznej rozróżnia się metodę i funkcję. Żeby rozwiązać ten problem raz na zawsze:

  • funkcja występuje wówczas, gdy nie należy ona do żadnego obiektu (nie jest "w środku" niego) np. język C
  • metoda zawsze znajduje się w obiekcie, stąd nazywana jest metodą np. Java

Dlatego są to metody klasy "string", a nie funkcje. Parę słów od siebie skoro przy tym jesteśmy. Funkcja sama w sobie też dzieli się na dwa terminy. W niektórych językach np. Pascal, funkcją jest podprogram zwracający jakąś wartość, natomiast gdy jest typu "void", czyli nie zwraca żadnej wartości, to wtedy nazywana jest procedurą. W Pythonie nie występują takie rozróżnienia (przynajmniej nie spotkałem się jeszcze z nimi), więc nie musicie tego sobie przyswajać :).

SPOSÓB KORZYSTANIA Z METOD

Kojarzycie dostawanie się do metod publicznych w Javie? W taki sposób wywołuje się metody klasy "string" i tutaj. Po zdefiniowaniu zmiennej i przypisaniu jej wartości w postaci łańcucha znaków, metody operujące na nich wywołuje się przy pomocy operatora kropki. Tak to wygląda:

txt = "Mój tekst"

txt.[metoda]()

Dozwolone jest jak najbardziej operowanie bezpośrednio na samym literale znakowym (łańcuch znaków nieprzypisany do żadnej zmiennej):

"Mój tekst".[metoda]()

Uwaga na parę nawiasów okrągłych zaraz po nazwie! To jest znak rozpoznawczy dla Was, że macie do czynienia z wywołaniem funkcji bądź metody!

LISTA METOD

Poznajcie teraz metody klasy "string", te najbardziej podstawowe. Będziemy operować na zdefiniowanej wcześniej zmiennej przyjmującej następującą postać:

txt = "Mój tekst"

Możecie sobie wstawić to polecenie do powłoki Pythona celem poćwiczenia. Oto metody:

upper()

Metoda "upper" w języku Python zamienia wszystkie litery na wielkie i zwraca tak zmodyfikowany łańcuch znaków. Za parametr przyjmuje dowolny łańcuch znaków. Bez względu na to, czy dana litera już wcześniej była wielka, czy też nie, wszystko zostaje zamienione na majuskuły. Warto napomknąć o pozostałych znakach. Reszta pozostanie w takiej samej postaci np. cyfra lub asterysk.

Metoda "upper" klasy "string" w Pythonie

"upper" zwraca łańcuch znaków ze zmodyfikowanymi literami zamieniając wszystkie mały litery na duże (tzw. majuskuły).

lower()

"lower" postępuje wprost odwrotnie do poprzednika. Każda znaleziona w podanym łańcuchu znaków wielka litera jest zamieniana na małą literę (minuskuła). Na wyjściu zwraca tak zmodyfikowany łańcuch znaków. Również i w tym przypadku nie wpływa w żaden sposób na znaki inne niż litery. Wszystkie metody klasy "string" zaczynają się od małej litery.

Metoda "lower" klasy "string" w Pythonie

"lower" zamienia wszystkie znalezione wielkie litery na małe (minuskuły) zwracając nowy łańcuch znaków.

find()

Możemy chcieć odszukać pierwsze wystąpienie podanego znaku lub łańcucha znaków. Do tego służy metoda klasy "string" o nazwie "find". Dzięki niej, możemy się dowiedzieć na którym indeksie i czy w ogóle "leży" pierwsze wystąpienie znaku lub ciągu znaków. Za parametr przyjmuje łańcuch znaków, a na wyjściu zwraca indeks pierwszego występowania. Jeżeli nie znaleziono w całym łańcuchu znaków podanego ciągu, wówczas zwraca wartość -1.

Metoda "find" klasy "string" w Pythonie

"find" zwraca liczbę całkowitą oznaczającą indeks pierwszego wystąpienia podanej frazy. Zwrócenie -1 oznacza, że nie znaleziono wpisanego ciągu.


Powtarzam. To nie są wszystkie metody klasy "string" jakie istnieją w języku Python. W przyszłości ten artykuł rozbuduję o więcej informacji jak tylko je wyczytam z literatury. Na tę chwilę dziękuję za przeczytanie i zachęcam do wypróbowania sobie tych metod w programie :).

PODOBNE ARTYKUŁY