Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - Python

PYTHON Ciągi znaków | Metody

 

W programowaniu, zarządzanie tekstami, czyli ciągami znaków, jest jednym z najważniejszych elementów. Dzięki wbudowanym funkcjom i metodom, Python umożliwia łatwe manipulowanie tekstem na różne sposoby. Od zliczania wystąpień określonych fragmentów, przez zamianę, dzielenie aż po różne rodzaje formatowania - możliwości są praktycznie nieograniczone. W poniższym tekście przyjrzymy się kilku podstawowym, ale niezwykle użytecznym metodom dostępnym dla ciągów znaków w Pythonie. Każda z nich zostanie zilustrowana przykładowym kodem, aby ułatwić ich zrozumienie i zastosowanie.

 

count – ilość wystąpień danego ciągu znaków

Składnia:

string.count(szukane[, od[, do]])

Jako parametr metody count podajemy szukany ciąg znaków. Opcjonalne parametry to indeksy odkąd mamy tego szukać i dokąd.

 

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.count('nie'))
print(x.count('nie',16))
print(x.count('nie',16,23))
print(x.count('nie',-12))

Efekt:

2
1
0
1

 

replace – zamiana ciągu znaków na inny

Składnia:

string.replace(stary, nowy[, ile])

Parametrami wejściowymi metody replace są ciąg do zmiany oraz ciąg na jaki ma być zmieniony. Opcjonalnym parametrem jest ile takich zmian należy dokonać.

 

Przykład:

z = x.replace('nie', 'AAAA')
print(x)
print(z)
z = x.replace('nie', 'AAAA',1)
print(x)
print(z)

Efekt:

gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA.
gdyby kózka AAAA SKAKAŁA, toby nóżki AAAA ZŁAMAŁA.
gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA.
gdyby kózka AAAA SKAKAŁA, toby nóżki nie ZŁAMAŁA

 

split – podział ciągu znaków i umieszczenie elementów podziału na liście

Składnia:

string.split(separator=Brak, ilosc_podziałow=-1)

Opcjonalne parametry: po jakim separatorze (znaku, ciągu znaków) ma zostać dokonany podział i jaka może być maksymalna ilość podziałów.

 

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
lista = x.split()
print(lista)
lista = x.split('nie')
print(lista)

Efekt:

['gdyby', 'kózka', 'nie', 'SKAKAŁA,', 'toby', 'nóżki', 'nie', 'ZŁAMAŁA.']
['gdyby kózka ', ' SKAKAŁA, toby nóżki ', ' ZŁAMAŁA.']

 

strip – usunięcie znaków z początku i końca ciągu znaków

Składnia:

string.strip([znaki])

Opcjonalnym parametrem jest znak(i) jaki ma zostać usunięty z początku i końca ciągu znaków. Domyślnie spacja.

 

Przykład:

y = "         Technik informatyk      "
print(y)
print(y.strip())
y = "_________Technik informatyk______"
print(y)
print(y.strip('_'))

Efekt:

         Technik informatyk      
Technik informatyk
_________Technik informatyk______
Technik informatyk

 

format – formatowanie sposobu wypisania ciągu znaków

Przykład:

a = 5        
b = 10        
suma = a + b 
print("Suma liczb a i b wynosi {0}, natomiast ich iloczyn {1}".format(suma, a*b))

Parametry wejściowe metody format są podkładane w miejsca oznaczone kolejnymi numerami zawartymi w nawiasach klamrowych.

Efekt:

Suma liczb a i b wynosi 15, natomiast ich iloczyn 50

 

join – łączenie elementów listy w ciąg znaków

Przykład:

znak = "*"                                   
lista = ["raz", "dwa", "trzy"]    
nowynapis = znak.join(lista)       
print(nowynapis)

Join jako parametr wejściowy przyjmuje listę, której elementy łączy w ciąg znaków za pomocą wartości zmiennej, na której jest wykonany.

Efekt:

raz*dwa*trzy

 

isalnum – sprawdzenie czy ciąg zawiera jedynie symbole alfanumeryczne (litery i cyfry)

Przykład:

napis1 = "TechnikInformatyk" 
napis2 = "Technik informatyk"
sprawdz1 = napis1.isalnum()
sprawdz2 = napis2.isalnum()
print("Wynik sprawdz1: {0}, natomiast sprawdz2: {1}".format(sprawdz1, sprawdz2))

Efekt:

Wynik sprawdz1: True, natomiast sprawdz2: False

Podobne działanie do tej funkcji ma jeszcze kilka innych, między innymi:

  • string.isalpha() – czy znaki są wyłącznie literami
  • string.isdecimal() – czy jest liczbą całkowitą
  • string.isdigit() – czy tylko cyfry
  • string.islower() – czy tylko małe litery
  • string.isupper() – czy tylko duże litery

 

capitalize – zamiana ciągu znaków: pierwsza litera wielka, reszta małe

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.capitalize())

Efekt:

Gdyby kózka nie skakała, toby nóżki nie złamała.

 

lower – zamiana na małe litery

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.lower())

Efekt:

gdyby kózka nie skakała, toby nóżki nie złamała.

 

upper – zamiana na wielkie litery

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.upper())

Efekt:

GDYBY KÓZKA NIE SKAKAŁA, TOBY NÓŻKI NIE ZŁAMAŁA.

 

center – uzupełnienie ciągu znaków do zadanej długości, z obu stron zadanymi znakami

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.center(70, 'x'))

Efekt:

xxxxxxxxxxxgdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA.xxxxxxxxxxx

 

startswith – sprawdzenie czy ciąg znaków rozpoczyna się od zadanego ciągu znaków

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.startswith('gdyby'))

Efekt: True

 

endswith – sprawdzenie czy ciąg znaków kończy się zadanym ciągiem znaków

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.endswith('.'))

Efekt: True

 

find – sprawdzenie pozycji pierwszego wystąpienia szukanego ciągu znaków

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.find('a'))

Efekt: 10

 

index – to samo działanie co find, ale gdy nie znajdzie szukanego ciągu, zwróci błąd

Przykład:

x = "gdyby kózka nie SKAKAŁA, toby nóżki nie ZŁAMAŁA."
print(x.index('a'))

Efekt: 10

Testy przypięte do lekcji
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się
Aby widzieć ocenę lekcji - Zaloguj się