Spis treści[Ukryć][Pokazać]
Witamy na trzecim wykładzie z kursu zderzeniowego.
W tym wykładzie nauczymy się radzić sobie z ciągami znaków w Pythonie. Przygotuj popcorn i usiądź wygodnie.
Smyczki
Najpierw porozmawiajmy o cytatach i wyeliminuj zamieszanie, jakie mogą wprowadzić w Pythonie.
Jak wspomniano wcześniej, po funkcji w Pythonie możemy używać zarówno pojedynczych, jak i podwójnych cudzysłowów. Ma to określoną użyteczność. Załóżmy, że chcesz wydrukować coś takiego.
print('This is Shahbaz's computer')
Teraz w powyższym wyrażeniu wszystko po drugim cudzysłowie, jak w „Shahbaz's”, pozostanie niezidentyfikowane przez interpreter Pythona, ponieważ Python przyjmie drugi cytat jako koniec łańcucha. W takim przypadku chcesz użyć podwójnych cudzysłowów, aby zadeklarować ciąg znaków w następujący sposób:
print("This is Shahbaz's computer")
Można to również zastosować w drugą stronę i możemy użyć pojedynczych cudzysłowów, jeśli wewnątrz łańcucha znajdują się podwójne cudzysłowy. np
print('This "computer" belongs to Shahbaz')
Teraz, jeśli chcesz wydrukować ciąg, który obejmuje wiele wierszy, musiałbyś użyć potrójnych cudzysłowów, aby ująć ciąg. Te cudzysłowy mogą być również pojedyncze lub podwójne, w zależności od zawartości ciągu. Na przykład:
Załóżmy teraz, że chcesz wydrukować określony znak z łańcucha. Jak byś to zrobił?
Interpreter Pythona indeksuje znaki w łańcuchu w następujący sposób:
Jak widać w terminalu, wydrukowane zostało tylko „h”. To dlatego, że wybraliśmy tylko trzeci znak w naszym łańcuchu do wydrukowania na terminalu, wpisując 3 w nawiasach kwadratowych po zmiennej. Interpreter Pythona indeksuje również znaki w negatywie, aby uprościć duże łańcuchy. Oznacza to, że „-1” będzie ostatnią liczbą w łańcuchu i tak dalej. Zauważ, że spacje nie są indeksowane, co oznacza, że powyższy ciąg będzie miał tylko 21 indeksowanych spacji.
Możesz także wybrać serię znaków z ciągu. np
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
Ten program wypisze „Pyt” na terminalu. Indeks 3 jest z tego wyłączony.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
W ten sam sposób, jeśli nie podamy indeksu końcowego, python wypisze cały łańcuch po pierwszym indeksie. Wynikiem tego programu będzie „thon Course by Shahbaz”. To obowiązuje na odwrót. tzn. jeżeli pominiemy pierwszy indeks to wydrukowany zostanie cały napis od początku do ostatniego zdefiniowanego indeksu.
Program zawierający tylko dwukropek w nawiasach indeksujących wyświetli na terminalu pełny ciąg znaków.
Ćwiczenia
Oto ciekawe ćwiczenie
napisz program, który definiuje interwał indeksu [1:-1]. Jak myślicie, jaki będzie wynik. Spróbuj sam.
Sformatowane ciągi
Sformatowane łańcuchy są szczególnie przydatne w sytuacjach, w których dynamicznie generujesz tekst ze swoimi zmiennymi. Pokażę ci.
Powiedzmy, że mamy dwie zmienne, imię i nazwisko.
first_name = 'Shahbaz'
last_name = 'Bhatti'
Teraz chcemy wydrukować „Shahbaz [Bhatti] jest koderem” na terminalu. Jak byśmy to zrobili? Wprowadzimy trzecią zmienną taką jak ta:
message = 'first_name + ' [' + last_name + '] is a coder'
Jeśli teraz wydrukujemy i uruchomimy ten program, na terminalu pojawi się komunikat „Shahbaz [Bhatti] is a coder”.
Chociaż to podejście doskonale się sprawdza, nie jest idealne, ponieważ w miarę jak nasz tekst staje się coraz bardziej skomplikowany, wizualizacja danych wyjściowych staje się trudniejsza. W tym miejscu używamy sformatowanych ciągów znaków, ułatwiają nam one wizualizację danych wyjściowych.
Zmieńmy trzecią zmienną „wiadomość” i wprowadźmy sformatowany ciąg znaków. Aby zdefiniować sformatowane ciągi znaków, poprzedź ciągi literą „ f ”, a następnie użyj nawiasów klamrowych, aby dynamicznie wstawić wartości do ciągów znaków. Nasz program będzie wyglądał mniej więcej tak:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
Aby zdefiniować sformatowane ciągi znaków, poprzedź je literą F, a następnie użyj nawiasów klamrowych, aby dynamicznie wstawiać wartości do ciągów znaków.
Fajne rzeczy, które możesz zrobić za pomocą Pythona Strings
Pokażę ci kilka naprawdę fajnych rzeczy, które możesz zrobić z łańcuchami Pythona.
1. Liczba znaków w ciągu
Zacznijmy więc od zdefiniowania zmiennej:
message = 'Shahbaz Bhatti is a Coder '
Teraz, jeśli chcę określić liczbę znaków w powyższym łańcuchu, w Pythonie jest wbudowana funkcja „ len ”. Po prostu wydrukuj zmienną z tą funkcją w ten sposób
print(len(message))
Jest to szczególnie przydatne, gdy otrzymujesz dane wejściowe od użytkownika. Na przykład zauważyłeś, że kiedy wypełniasz formularz online, każde pole wejściowe często ma limit. Na przykład możesz mieć 50 znaków dla swojego imienia, więc używając tej funkcji „len” możemy wymusić ograniczenie liczby znaków w polu wejściowym.
2. Konwersja znaków w łańcuchu na wielkie lub małe litery
Możemy uzyskać dostęp do funkcji związanych z ciągami znaków za pomocą operatora kropki. Możesz wpisać nazwę swojej zmiennej i stawiając przed nią kropkę, zobaczysz listę wszystkich takich funkcji.
Mówiąc dokładniej, odnosisz się do tych funkcji jako do metod. Jest to termin w programowaniu obiektowym, któremu chcemy przyjrzeć się w przyszłości, ale na razie chcę, abyś zabrał ze sobą to, że kiedy funkcja należy do czegoś innego lub jest specyficzna dla jakiegoś obiektu, odnosimy się do tej funkcji jako metody. W tym przypadku użyjemy metody „upper” do konwersji łańcucha na wielkie litery.
Ponieważ ta funkcja jest specyficzna dla łańcucha, nazywamy ją metodą. W przeciwieństwie do tego „len” i „print” są funkcjami ogólnego przeznaczenia, nie należą do łańcuchów znaków, liczb ani innego rodzaju obiektów. Jest to podstawowa różnica między funkcją a metodą.
A teraz wydrukujmy to.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
I widzimy, że mamy nasz ciąg pisany wielkimi literami. Podobnie mamy metodę „lower” do konwersji łańcucha na małe litery. Możesz także użyć metody „tytuł”, aby każde słowo w ciągu było pisane wielkimi literami.
Zauważ, że metoda nie zmienia ani nie modyfikuje naszego oryginalnego ciągu. W rzeczywistości tworzy nowy ciąg znaków i zwraca go.
3. Znajdź sekwencję znaków w ciągu znaków
Wypróbujmy inną metodę znalezienia indeksu określonego znaku w łańcuchu.
Typ:
message.find('b')
po tej samej zmiennej i wydrukuj ją. Wydrukuje indeks pierwszego wystąpienia litery „b” w łańcuchu, który w tym przypadku wynosi 4.
Zauważ, że ta metoda uwzględnia wielkość liter i zwróci -1, jeśli znak nie zostanie znaleziony w łańcuchu. Może być również używany do sekwencji znaków.
Na przykład następujący program:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
zwróci wartość „20”, ponieważ sekwencja „coder” zaczyna się od indeksu 20.
4. Zastępowanie znaku w ciągu
Możesz użyć metody „replace”, aby zastąpić znak lub sekwencję znaków w łańcuchu. Zobaczmy to w akcji.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
Ten program zastąpi słowo „koder” słowem „programista” i wydrukuje je na terminalu.
5. Sprawdź istnienie znaku w łańcuchu
Teraz są przypadki, w których chcesz sprawdzić istnienie znaku lub sekwencji znaku w swoim łańcuchu. W takich sytuacjach możesz użyć formatowania wyrażenia w następujący sposób:
message = 'Shahbaz Bhatti is a coder'
print('python' w wiadomości)
Teraz zwróci to funkcję boolowską. tj. „Prawda” lub „Fałsz”. Lubię to;
Należy pamiętać, że we wszystkich tych metodach i funkcjach rozróżniana jest wielkość liter.
Zakończyć!
Smyczki to znacznie więcej, których nauczymy się stopniowo w miarę postępów. Następnie nauczymy się wykonywać operacje arytmetyczne w Pythonie.
Dodaj komentarz