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ę |