Napisy, czyli ciągi znaków/łańcuchy, są przechowywane w języku Python w zmiennej typu str.
Aby utworzyć zmienną typu str i nadać jej wartość, która jest łańcuchem znaków, można posłużyć się jednym z poniższych schematów:
napis = "To jest napis" # tekst zapisujemy w podwójnym cudzysłowie
napis2 = 'To także jest napis' # lub w pojedynczym apostrofie
print(napis+'\n'+ napis2)
print(type(napis)) # za pomocą funkcji type sprawdzisz typ swojej zmiennej
To jest napis
To także jest napis
W takiej sytuacji należy umieścić tekst w potrójnych opostrofach/cydzysłowach:
napis = '''Ten tekst
zawiera kilka wierszy,
które zapisane sa w zmiennej napis!'''
print(napis)
napis = """Ten tekst
zawiera kilka wierszy,
które zapisane sa w zmiennej napis!"""
print(napis)
Ten tekst zawiera kilka wierszy, które zapisane sa w zmiennej napis! Ten tekst zawiera kilka wierszy, które zapisane sa w zmiennej napis!
Kombinacja znaków \n powoduje wstawieni znaku końca wiersza.
napis = 'Ten tekst\nzapisany jest\nw trzech wierszach'
print(napis)
Ten tekst zapisany jest w trzech wierszach
Wyobraźmy sobie szufladki, które numerujemy kolejnymi liczbami naturalnymi: 0, 1, 2, .... Pierwszy znak znajduje się w szufladce o numerze 0, drugi o numerze 1, ... ostatni o numerze: liczba_znaków - 1, czyli len(napis) - 1. Aby sprawdzić, jaki znak znajduje się na i-tej pozycji, użyjemy konstrukcji:$$zmienna[nr_szufladki].$$Jest możliwość odwołania się do znaków znajdujących się na końcu łańcucha podając ujemną wartość w nawiasie kwadratowym:
print(napis[0]) # wypisanie pierwszego znaku, czyli "P"
print(napis[1]) # wypisanie drugiego znaku, czyli "r"
print(napis[-1]) # wypisanie ostatniego znaku, czyli "n"
print(napis[-2]) # wypisanie przedostatniego znaku, czyli "o"
W celu poprania każdej litery oddzielnie i wykonania na niej pewnej operacji można użyć pętli for z operatorem in:
# *******************algorytm.edu.pl**************************
#To zadanie polega na wstawieniu dodatkowej spacji między każdym znakiem
# *******************główna część programu********************
napis = "Programowanie i algorytmy"
napis_ze_spacjami = ''
for i in napis: # pobieramy kolejne znaki i zapisujemy je w zmiennej i
napis_ze_spacjami += i + ' '
print(napis_ze_spacjami)
P r o g r a m o w a n i e i a l g o r y t m y
# *******************algorytm.edu.pl**************************
# Prezentacja wycinania elementów z łańcucha
# *******************główna część programu********************
napis = "Programowanie i algorytmy"
wycinek = napis[:2] # przypisanie dwóch początkowych znaków
print(wycinek) # 'Pr'
wycinek = napis[2:] # przypisanie wszystkich znaków oprócz dwóch początkowych
print(wycinek) # 'ogramowanie i algorytmy'
wycinek = napis[1:4] # przypisanie znaków o indeksach 1, 2 oraz 3 (bez 4)
print(wycinek) # 'rog'
wycinek = napis[::3] # przypisanie znaków o indeksach 0, 0+3, 3+3, 6+3, ...
print(wycinek) # Pgmae gyy
wycinek = napis[1::3] # przypisanie znaków o indeksach 1, 1+3, 4+3, 7+3, ...
print(wycinek) # rron aot
wycinek = napis[::-1] # przypisanie znaków w szyku odwróconym
print(wycinek) # ymtyrogla i einawomargorP
wycinek = napis[::-2] # przypisanie znaków w szyku odwróconym, co druga litera
print(wycinek) # ytrgaienwmroP
wycinek = napis[-2::-2] # przypisanie znaków w szyku odwróconym, począwszy od przedostatniej
# co druga litera
print(wycinek) # myol iaoagr
Pr ogramowanie i algorytmy rog Pgmae gyy rron aot ymtyrogla i einawomargorP ytrgaienwmroP myol iaoagr
len(napis) - Funkcja zwraca liczbę znaków w zmiennej napis.
.__hash__() - Metoda zwraca hasz (hash) obiektu string, który jest używany do efektywnego indeksowania i porównywania w słownikach i zbiorach.
.__sizeof__() - Metoda zwraca ilość zajmowanej pamięci przez obiekt string.
.capitalize() - Metoda zwraca kopię stringa, w którym pierwsza litera jest zamieniana na wielką (capitalize), a pozostałe litery na małe.
.casefold() - Metoda zwraca kopię stringa, w którym wszystkie litery są zamieniane na małe i usuwane są znaki diakrytyczne, co jest przydatne do porównywania stringów w sposób nieczuły na wielkość liter i różnice diakrytyczne.
.center(width[, fillchar]) - Metoda zwraca string, który jest wycentrowany na szerokość width i wypełniony znakiem fillchar (domyślnie spacją) z obu stron.
.count(sub[, start[, end]]) - Metoda zwraca liczbę wystąpień podstringa sub w stringu, opcjonalnie można podać argumenty start i end określające zakres przeszukiwania.
.encode(encoding='utf-8', errors='strict') - Metoda zwraca zakodowaną wersję stringa używając określonego kodowania encoding. Argument errors określa sposób obsługi błędów kodowania.
.endswith(suffix[, start[, end]]) - Metoda sprawdza, czy string kończy się określonym sufiksem suffix, opcjonalnie w określonym zakresie start i end.
.expandtabs(tabsize=8) - Metoda zastępuje znaki tabulacji ('\t') spacjami w liczbie określonej przez argument tabsize (domyślnie 8).
.find(sub[, start[, end]]) - Metoda zwraca indeks pierwszego wystąpienia podstringa sub w stringu lub -1, jeśli nie zostanie znaleziony. Opcjonalnie można podać argumenty start i end dla określenia zakresu przeszukiwania.
.format(*args, **kwargs) - Metoda służy do formatowania stringa, zastępując znaczniki {} wartościami podanymi jako argumenty lub używając argumentów z mapy kwargs.
.format_map(mapping) - Metoda działa podobnie do .format(), ale używa mapy mapping do podstawiania wartości za znaczniki.
.index(sub[, start[, end]]) - Metoda działa podobnie do .find(), ale zgłasza wyjątek ValueError, jeśli podstring sub nie zostanie znaleziony.
.isalnum() - Metoda zwraca True, jeśli wszystkie znaki w stringu są literami lub cyframi (alfanumeryczne), w przeciwnym razie zwraca False.
.isalpha() - Metoda zwraca True, jeśli wszystkie znaki w stringu są literami, w przeciwnym razie zwraca False.
.isascii() - Metoda zwraca True, jeśli wszystkie znaki w stringu należą do zbioru znaków ASCII, w przeciwnym razie zwraca False.
.isdecimal() - Metoda zwraca True, jeśli wszystkie znaki w stringu są cyframi dziesiętnymi, w przeciwnym razie zwraca False.
.isdigit() - Metoda zwraca True, jeśli wszystkie znaki w stringu są cyframi, w tym także te spoza zakresu dziesiętnego, w przeciwnym razie zwraca False.
.isidentifier() - Metoda zwraca True, jeśli string jest poprawnym identyfikatorem w Pythonie (np. nazwą zmiennej), w przeciwnym razie zwraca False.
.islower() - Metoda zwraca True, jeśli wszystkie litery w stringu są małe, w przeciwnym razie zwraca False.
.isnumeric() - Metoda zwraca True, jeśli wszystkie znaki w stringu są znakami numerycznymi (cyfry), w przeciwnym razie zwraca False.
.isprintable() - Metoda zwraca True, jeśli wszystkie znaki w stringu są drukowalne (nie są to znaki kontrolne), w przeciwnym razie zwraca False.
.isspace() - Metoda zwraca True, jeśli wszystkie znaki w stringu są białymi znakami (np. spacje, tabulacje), w przeciwnym razie zwraca False.
.istitle() - Metoda zwraca True, jeśli string jest napisem w stylu tytułu, czyli zaczyna się wielką literą, a pozostałe litery są małe, w przeciwnym razie zwraca False.
.isupper() - Metoda zwraca True, jeśli wszystkie litery w stringu są wielkie, w przeciwnym razie zwraca False.
.join(iterable) - Metoda łączy elementy z iterable (np. listy lub krotki) za pomocą stringa, na którym została wywołana, jako separatora.
.ljust(width[, fillchar]) - Metoda zwraca string wyrównany do lewej na szerokość width i wypełniony znakiem fillchar (domyślnie spacją).
.lower() - Metoda zwraca kopię stringa, w którym wszystkie litery są zamieniane na małe.
.lstrip([chars]) - Metoda zwraca kopię stringa, w którym usuwane są początkowe białe znaki (lub znaki zdefiniowane w chars, jeśli podano).
.maketrans(x[, y[, z]]) - Metoda służy do tworzenia tablicy translacji (translacyjnej). Jest to przydatna funkcja do zamiany znaków na inne znaki lub usuwania znaków z stringa. Argumenty x, y, i z to sekwencje znaków, gdzie x i y są równoliczne i określają znaki do zamiany, a z określa znaki do usunięcia. Możesz ją wykorzystać razem z metodami translate() lub str.translate().
.partition(sep) - Metoda dzieli string na trzy części: przed pierwszym wystąpieniem separatora sep, sam separator sep, i wszystko po separatorze. Zwraca te trzy części jako trójelementową krotkę.
.removeprefix(prefix) - Metoda usuwa podany prefix z początku stringa, jeśli istnieje. Jest dostępna od Pythona 3.9.
.removesuffix(suffix) - Metoda usuwa podany sufiks z końca stringa, jeśli istnieje. Jest dostępna od Pythona 3.9.
.replace(old, new[, count]) - Metoda zwraca kopię stringa, w którym wszystkie wystąpienia old są zastępowane przez new. Opcjonalny argument count pozwala ograniczyć liczbę zamian.
.rfind(sub[, start[, end]]) - Metoda działa podobnie do .find(), ale szuka od końca stringa i zwraca indeks ostatniego wystąpienia sub lub -1, jeśli nie zostanie znalezione. Opcjonalnie można podać argumenty start i end dla określenia zakresu przeszukiwania.
.rindex(sub[, start[, end]]) - Metoda działa podobnie do .rfind(), ale zgłasza wyjątek ValueError, jeśli podstring sub nie zostanie znaleziony.
.rjust(width[, fillchar]) - Metoda zwraca string wyrównany do prawej na szerokość width i wypełniony znakiem fillchar (domyślnie spacją).
.rpartition(sep) - Metoda działa podobnie do .partition(), ale szuka separatora od końca stringa.
.rsplit([sep[, maxsplit]]) - Metoda dzieli string na podstringi zaczynając od końca i zwraca je jako listę. Opcjonalnie można podać separator sep i maksymalną liczbę podziałów maxsplit.
.rstrip([chars]) - Metoda zwraca kopię stringa, w którym usuwane są końcowe białe znaki (lub znaki zdefiniowane w chars, jeśli podano).
.split([sep[, maxsplit]]) - Metoda dzieli string na podstringi i zwraca je jako listę. Opcjonalnie można podać separator sep i maksymalną liczbę podziałów maxsplit.
.splitlines([keepends]) - Metoda dzieli string na linie i zwraca je jako listę. Opcjonalny argument keepends pozwala zachować znaki nowej linii na końcu każdej linii.
.startswith(prefix[, start[, end]]) - Metoda sprawdza, czy string zaczyna się od określonego prefixu prefix, opcjonalnie w określonym zakresie start i end.
.strip([chars]) - Metoda zwraca kopię stringa, w którym usuwane są zarówno początkowe, jak i końcowe białe znaki (lub znaki zdefiniowane w chars, jeśli podano).
.swapcase() - Metoda zwraca kopię stringa, w którym wszystkie litery są zamieniane na przeciwne wielkości liter, czyli małe na wielkie i wielkie na małe.
.title() - Metoda zwraca kopię stringa, w którym każde słowo zaczyna się wielką literą, a pozostałe litery są małe, tworząc efekt tytułu.
.translate(table) - Metoda tłumaczy string z użyciem tablicy translacji stworzonej przez funkcję str.maketrans().
.upper() - Metoda zwraca kopię stringa, w którym wszystkie litery są zamieniane na wielkie.
.zfill(width) - Metoda zwraca string, w którym zostają dodane zera na początku, aby osiągnąć daną szerokość width.
To są podstawowe metody typu string w Pythonie, które umożliwiają manipulację i przetwarzanie stringów w różny sposób. Każda z tych metod ma swoje zastosowanie w zależności od konkretnej sytuacji.