Napis - łańcuch znaków jest sekwencyjnym typem niemodyfikowalnym. Pojedyncze znaki łańcucha są indeksowane (zaczynając od 0).
Można iteracje wykonywać po znakach lub po indeksach.
s='Przykładowy tekst'
s[0] #zwraca pierwszy znak napisu
s[-1] #ostatni znak napisu
s[ a : b : c ] #fragment napisu od indeksu a do indeksu b (bez znaku z indeksem b) z krokiem c
s[ : b : c ] #fragment napisu od początku do indeksu b (bez znaku z indeksem b) z krokiem c
s[ a : : c ] #fragment napisu od indeksu a do końca z krokiem c
s[ a : b ] #fragment napisu od indeksu a do indeksu b (bez znaku z indeksem b) z krokiem 1
s[ : b : -1] #fragment napisu od końca do indeksu b (bez znaku z indeksem b) z krokiem -1
s[ : : -1 ] #napis wspak
len(s) #długość napisu
ord(znak) #kod ASCII znaku
chr(kod) #znak z kodu ASCII
s.count('a') #liczba znaków 'a' w napisie s
s.find('ab') #indeks pierwszego wystąpienia łańcucha 'ab' w napisie s (gdy nie występuje: zwraca -1)
s.rfind('ab') #indeks ostatniego wystąpienia łańcucha 'ab' w napisie s (gdy nie występuje: zwraca -1)
s.replace('ab', 'c') #zamienia wszystkie 'ab' na 'c' w napisie s
s.strip() #usuwa białe znaki z początku i z końca napisu s
s.lstrip() #usuwa białe znaki z początku napisu s
s.rstrip() #usuwa białe znaki z końca napisu s
list(s) #tworzy listę znaków
' '.join(lista) #tworzy napis z listy
s.split() #tworzy listę wyrazów z napisu s
s.split(';') #tworzy listę wyrazów z napisu s rozdzielanego średnikami
s.lower() #napis małymi literami
s.upper() #napis dużymi literami
s.swapcase() #odwraca wielkość liter
s.capitalize() #pierwsza litera wielka
s.isalnum() #zwraca True jeśli s zawiera tylko litery lub cyfry
s.isalpha() #zwraca True jeśli s zawiera tylko litery
s.isdigit() #zwraca True jeśli s zawiera tylko cyfry
s.islower() #zwraca True jeśli s zawiera tylko małe litery
s.isupper() #zwraca True jeśli s zawiera tylko duże litery
s.startswith('ab') #zwraca True jeśli s zaczyna się od 'ab'
s.endswith('ab') #zwraca True jeśli s kończy się na 'ab'