Kiedy gramy w ciągi znaków w języku programowania Python, mamy na myśli zbiór znaków przechowywanych w pamięci ciągłej, na których możemy operować, aby manipulować zestawem znaków np. pobierz znak w indeksie, zamień zestaw znaków, przekonwertuj z wielkich na małe i odwrotnie, itd.
- Co to są ciągi znaków w Pythonie?
- Jak używać ciągów, indeksowania i wycinania?
- Dzielenie i łączenie ciągów
- Operacje na łańcuchu w Pythonie
Co to są ciągi znaków w Pythonie?
Ciągi znaków w Pythonie są instancjami klasy. Jest to klasa wbudowana z wieloma funkcjami pomocniczymi do operowania na łańcuchach. Ciągi znaków są niezmienne, tj. Ciąg znaków w Pythonie nie może być modyfikowany po utworzeniu. Jeśli zmodyfikujesz ciąg, utworzy on nowy ciąg w pamięci do przechowywania zmodyfikowanego ciągu.
Sprawdź typ ciągu literału: Funkcja type () zwraca typ zmiennej w Pythonie
s1 = 'Witaj!' print (typ (s1))
Wynik:
Jak używać ciągów, indeksowania i wycinania?
Różne sposoby inicjalizacji ciągów:
# Pojedyncze cudzysłowy str1 = 'Cześć, nauczmy się ciągów w Pythonie' print (str1) # Podwójne cudzysłowy str1 = 'Cześć, nauczmy się ciągów w Pythonie' print (str1) # Pojedyncze cudzysłowy w double, nie ma potrzeby ich uciekać lub dopasuj je str1 = 'Witaj, jak tam twój przyjaciel? '# Podwójne cudzysłowy w pojedynczym, nie trzeba ich zmieniać ani dopasowywać. Str1 =' Witaj, jak się ma twój przyjaciel 'K'? ' str2 = 'Witaj,' Jak się miewa twój przyjaciel K? ' print (str1) print (str2) # potrójne cudzysłowy to ciągi wielowierszowe str1 = '' 'Witaj, witaj w napisach w Pythonie' '' print (str1) str1 = '' 'Witaj, witaj w napisach w Pythonie' '' print ( str1)
Wynik:
Cześć, nauczmy się ciągów znaków w Pythonie
Cześć, nauczmy się ciągów znaków w Pythonie
Witam, jak tam twój przyjaciel „K”?
Witam, „Jak się ma twój przyjaciel K?
Witam serdecznie
stringi w Pythonie
Witam serdecznie
jak zadeklarować tablicę obiektów w java
stringi w Pythonie
Indeksowanie i wycinanie
Indeksowanie służy do wskazywania pliku pojedynczy znak w ciągu
Do wybierania można użyć łączenia podciąg lub a sekwencja znaków zgodnie z zasadami łączenia
Indeksowanie używa notacji: p [ indeks ] gdzie indeks jest liczbą od 0 do len (str) - 1
Cięcie używa notacji: p [ początek : zatrzymać : krok ]
początek : początkowy indeks wycinka, będzie zawierał element w tym indeksie, chyba że jest taki sam jak stop, domyślnie 0, czyli pierwszy indeks. Jeśli jest ujemny, oznacza rozpoczęcie n elementów od końca.
zatrzymać: indeks końcowy wycinka, nie zawiera elementu w tym indeksie, domyślnie długość sekwencji, która jest cięta, to znaczy do końca włącznie.
krok : kwota, o jaką rośnie indeks, domyślnie wynosi 1. Jeśli jest ujemna, przecinasz iterowalność w odwrotnej kolejności.
- Cięcie działa na lista jak również lub w tym przypadku jakąkolwiek sekwencję. Na tym blogu patrzymy na same struny.
Przykłady indeksowania i wycinania:
str1 = 'Indie, naród miliarda ludzi' print ('str1:', str1) # print first character print ('Index 0:', str1 [0]) # print last character print ('Index -1:', str1 [-1]) # Składnia krojenia [start: end: step] # Cięcie od drugiego do czwartego znaku ('Slice [1: 5] =', str1 [1: 5]) # Cięcie od pierwszego do drugiego ostatniego znaku ('Slice [0: -2] =', str1 [0: -2]) # Połącz łańcuch, aby uzyskać znaki przy parzystym wydruku indeksu ('Parzysty indeks:', str1 [:: 2]) # Połącz łańcuch do pobierz znaki z nieparzystego indeksu print ('Odd index:', str1 [1 :: 2]) # Skrót do wycinania w celu odwrócenia wydruku ciągu ('Odwróć przy użyciu cięcia:', str1 [:: - 1])
Wynik:
str1: Indie, naród miliardowy
Indeks 0: I.
Indeks -1: e
Wycinek [1: 5] = ndia
Kawałek [0: -2] = Indie, naród miliardowy
Indeks parzysty: Ida aino ilo epe
Indeks nieparzysty: ni, anto fblinpol
Odwróć, używając plastrowania: elpoep noillib fo noitan a, aidnI
co to jest sesja w java
Dzielenie i łączenie ciągów
- Dzielenie ciągów
Spójrzmy bezpośrednio na przykład, aby zrozumieć, jak podzielić zdanie na słowa:
str1 = 'To jest ciąg, który podzielimy na listę słów' # Domyślnie funkcja split dzieli się na spację list_of_words = str1.split () print (list_of_words)
Wynik:
[„This”, „is”, „the”, „string”, „my”, „will”, „split”, „into”, „a”, „list”, „of”, „words”]
Teraz podzielmy na separator, powiedzmy przecinek:
str1 = 'Literatura, najogólniej, to zbiór prac pisemnych' # Podzielmy na przecinek my_list = str1.split (',') print (my_list)
Wynik:
[„Literatura”, „najogólniej”, to „zbiór dzieł pisemnych”]
- Łączenie ciągów
Jednym z najprostszych podejść jest użycie operatora „+”, który może łączyć dwa ciągi:
str1 = 'Python' str2 = 'Is Fun' # Łączenie dwóch ciągów print (słowo1 + słowo2) # Bardziej czytelne, łączenie 3 ciągów, słowo1, spacja '' i str3 print (słowo1 + '' + słowo2)
Wynik:
Python Fun
Python jest fajny
Kilka zasad dotyczących konkatenacji:
- Konkatenacja działa tylko na obiektach „str”
- Jeśli dołączone są obiekty innych typów, Python zgłosi błąd.
- W przeciwieństwie do innych języków, Python nie będzie automatycznie rzutował innych typów na łańcuch
- Python wymaga jawnego typecast do łańcucha przy użyciu funkcji str ()
Poniższy kod nie działa:
str1 = 'Python' str2 = 'Is Fun' str3 = 'Percent' print (str1 + str2 + 100 + str3)
Wynik:
-------------------------------------------------- ------------------------- TypeError Traceback (ostatnie wywołanie ostatnie) w 2 str2 = 'Is Fun' 3 str3 = 'Percent' --- -> 4 print (str1 + str2 + 100 + str3) TypeError: musi być str, a nie int
Napraw to, jawnie konwertując liczbę całkowitą 100 na ciąg:
str1 = 'Python' str2 = 'Is Fun' str3 = 'Percent' print (str1 + str2 + str (100) + str3)
Wynik:
Python jest fajny na 100 procent
Łączenie listy ciągów
Możemy łatwo łączyć łańcuchy za pomocą listy ciągów
- Przystąp() funkcja jest dostępna dla każdego obiektu typu „str”
- join () akceptuje tylko listę łańcuchów, jeśli zawiera ona elementy niebędące łańcuchami, python zgłosi błąd
list_of_words = ['This', 'is', 'the', 'string', 'my', 'will', 'split', 'into', 'a', 'list', 'of', 'words' ] # Zacznij od pustego ciągu i użyj funkcji łączenia, która jest dostępna na obiektach typu 'str' zdanie = '' .join (list_of_words) print (zdanie) # Użyj łańcucha z jedną spacją tym razem zdanie = '' .join (list_of_words ) print (zdanie) # Tym razem użyj łańcucha z jednym myślnikiem / myślnikiem zdanie = '-'. join (list_of_words) print (zdanie) # Możesz zauważyć, że ciąg, na którym nazywamy łączenie, jest używany do łączenia elementów w ' list_of_words '
Wynik:
To ciągnie się rozdziela na słowa
To jest ciąg, który podzielimy na listę słów
To jest ciąg-podzielimy-na-listę-słów
Operacje na łańcuchu w Pythonie
Typ „str” w Pythonie ma wiele wbudowanych funkcji
- str. góra ()
- str. dolne ()
- str.find ()
- str.replace ()
- str.split ()
- str.join ()
- Wiele więcej
Funkcje str.join () i str.split () widzieliśmy już w ostatniej sekcji. Zrozumiemy pozostałe funkcje wymienione powyżej.
# konwertuj na wielkie litery drukuj ('python'.upper ()) # konwertuj na małe litery drukuj (' PYTHON'.lower ()) # znajdź indeks 'th' print ('Python'.find (' th ')) # zamień podciąg „0” na „100” print („Python jest zabawny 0 procent”. zamień („0”, „100”))
Wynik:
PYTON
pyton
2
Python jest fajny na 100 procent
W ten sposób dochodzimy do końca tych ciągów w blogu Pythona. Mam nadzieję, że wszystkie twoje wątpliwości dotyczące ciągów znaków w Pythonie są teraz jasne.
Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo z całodobowym wsparciem i dożywotnim dostępem.