Ciągi znaków w Python (strings)

Ciągi znaków w Python, a więc ciągi tekstowe poznaliśmy już przy okazji pisania pierwszego programu. Podstawowe działanie na tekstach w Python polega na ich wyświetleniu za pomocą polecenia print(). Spośród podstawowych działań, które wykonujemy na ciągach tekstowych możemy wymienić m.in.:

  • Łączenie ciągów znaków
  • Powielanie ciągów znaków (multiplikacja)
  • Wycinanie ciągu znaków z innego ciągu tekstowego
  • Zmiana wielkości znaków w ciągu
  • Wstawianie jednego ciągu znaków do drugiego ciągu znaków
  • Sprawdzanie pozycji występowania jednego ciągu tekstowego w innym ciągu.

W jaki sposób to zrobić? Poniżej kilka przykładów.

Łączenie ciągów znaków w Python

Jeśli chcesz połączyć ze sobą ciągi tekstowe, możesz to zrobić na kilka sposobów. Do łączeni ciągów znaków w Python używamy operatora dodawania „+”.

Ten sam rezultat możesz także osiągnąć stosując konstrukcję, w której ciągi znaków oddzielone są od siebie przecinkami. Spacja zostaje wstawiona automatycznie. Możesz też użyć do tego celu zmiennych.

# Przykład 1
print("Kurs"+" "+ "Python") 

# Przykład 2
print("Kurs","Python")

# Przykład 3
x = "Kurs "
y = "Python"
print(x+y) 
Kurs Python - Łączenie ciągów znaków w Python
Kurs Python – Łączenie ciągów znaków w Python

Powielanie ciągu tekstowego (multiplikacja)

W Python w prosty sposób możesz powielić ciąg znaków. W tym celu wykorzystaj operator mnożenia. Tekst zostanie powielony określoną liczbę razy, np:

"To jest tekst " * 10
# lub
print("To jest tekst " * 10) 
Kurs Python – Multiplikacja ciągów znaków w Python

Wycinanie ciągu znaków

W Python w prosty sposób możesz wyciąć część znaków z dłuższego wyrażenia. Najprościej w tym celu określić pozycje tekstu, który chcesz wyciąć. Jeśli chcesz wyciąć pierwszy znak z danego tekstu wstaw pozycję znaku w nawiasie kwadratowym zaraz za tekstem lub za zmienną.

Jeśli chcesz wyciąć z jednego tekstu jego część zaczynając od np szóstego znaku, a kończąc na dwunastym, możesz to zrobić wskazując w nawiasie kwadratowym pierwszy znak i ostatni, który chcesz wyciąć np [i:j].

Jeśli chcesz wyciąć ciąg znaków zaczynając od prawej strony, pamiętaj o znaku minus przed liczbą określającą pozycję znaku. Poniżej przykłady:

# Wycinanie pierwszego znaku zaczynając od lewej strony  
"Hello World! "[1]

# Wycinanie znaków ze środka tekstu
"Hello World! "[6:12] 

# Wycinanie znaków od końca ciągu tekstowego
"Hello World! "[-5] 

Zmiana wielkości znaków w ciągu tekstowym w Python

W Python w prosty sposób możesz zmienić wielkość znaków w dowolnym tekście. Służą do tego metody upper() i lower(). Wstaw je po kropce za tekstem lub zmienną.

# Zmiana liter na wielkie lub małe
 x = "I like learning Python"
 print(x.upper())
 print(x.lower())

Wstawianie fraz do ciągu znaków

Wstawianie ciągu znaków wewnątrz w innym tekście możemy wykonać na kilka sposobów. Najprościej jest skorzystać z łączenia fraz z użycie operatora „+”. Jeśli jednak piszemy profesjonalny program, korzystamy z rozbudowanego polecenia print. Jedyne, co musisz zrobić, to w argumencie funkcji print wstawić miejsce na zmienną, z której chcesz skorzystać. Określasz ją w następujący sposób:

  • %s, by wstawić wartość tekstową,
  • %d, by wstawić liczbę całkowitą int,
  • %f, by wstawić liczbę float.

Następnie za cudzysłowem wstaw znak % i nawias. W nawiasie wprowadź zmienną lub wartość, która ma być wstawiona w określone wcześniej miejsce. Przykłady poniżej:

# Wstawianie liczby zmiennoprzecinkowej float: %.f
x = 28
print("Tom ma %d lat." % x)

# Możesz użyć więcej niż jednej zmiennej:
x = 28
y = "Warszawie"
print(" Tom ma %d lat i mieszka w %s" % (x, y))

# Możesz też wstawić więcej niż jedną zmienną o tym samym typie danych.
name = "Tom"
age = 29
score = 78.5
year = 2019
city = "Warszawy"
print("%s jest z %s. Ma %d lat. Napisał egzamin w %d roku i zdobył %.1f punktów." % (name, city, age, year, score ))

W wyżej opisanym przykładzie %.1f oznacza, iż zaokrąglamy liczbę punktów do 1 miejsca po przecinku.

Sprawdzanie pozycji w tekście

W Python możesz sprawdzić pozycję znaku lub tekstu w innym tekście. Metoda index() zwróci pozycję znaku lub początku szukanego tekstu. Wielkość znaków ma znaczenie.

# Zwracanie pozycji tekstu w innym tekscie
x = "Mieszkam w Polsce i uczę się programowania"
print(x.index("k"))
print(x.index("programowania"))

Możesz też sprawdzić za pomocą metod startswith() i endswith(), czy tekst zaczyna się, bądź kończy określoną frazą.

 # Sprawdzanie początku i zakończenia ciągu tekstu
x = "I like learning Python"
print(x.startswith("I like"))
print(x.endswith("Pyt")) 

Sprawdzanie liczby wystąpień ciągu znaków w innym ciągu znaków

Możesz sprawdzić ile razy dana fraza, lub pojedynczy znak występuje w danym ciągu tekstowym. Służy do tego metoda count().

# Sprawdzanie ile razy tekst występuje w innym tekście
x = "I like learning Python. Python is the best programming language"
print(x.count("g"))
print(x.count("Python"))

Tworzenie listy z ciągu tekstowego w Python

Z każdego ciągu tekstowego możesz wydzielić pojedyncze wyrazy i zrobić z nich listę. O listach dowiesz się więcej w kolejnych częściach kursu Python.

# Tworzenie listy z wyrazów w ciągu tekstowym
# Powinieneś wybrać znak rozdzielający, tzw. delimiter np spację
x = "I like learning Python. Python is the best programming language"
print(x.split(" "))

Ciąg znaków w kolejności odwrotnej w Python

W Python w prosty sposób możesz zwrócić ciąg znaków pisany od końca.

# String reverse, a więc ciąg znaków w kolejności odwrotnej.
x = "I like learning Python"
print(x[::-1])

Artykuł, który przeczytałeś jest częścią kursu Python. Całość zamieszczam pod tym linkiem: kurs python online

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *