9 Sztuczek z Python REPL
Oczywiście Pi w Raspberry Pi pochodzi z Pythona, jednego z najpopularniejszych języków programowania na świecie i szczególnie popularnego wśród majsterkowiczów i twórców. W tym poście chciałbym przedstawić 9 sztuczek i wskazówek dotyczących REPL Pythona - ale nie martw się, jeśli nie jesteś zbyt dobrze zaznajomiony z tym językiem. Python lub REPL.
Ten post jest skierowany zarówno do początkujących, jak i średnio zaawansowanych programistów Pythona.
Czym jest REPL?
REPL, czyli Read-Evaluate-Print Loop, to sposób na bezpośrednią interakcję z interpreterem Pythona. Nazywa się REPL, ponieważ odczytuje, ocenia i drukuje dane wejściowe, a następnie powraca do początku, umożliwiając wprowadzenie kolejnego polecenia.
Zapewnia interfejs za pośrednictwem powłoki Pythona do wprowadzania kodu i natychmiastowego otrzymywania danych wyjściowych. Umożliwia to sprawdzanie kodu, debugowanie w czasie rzeczywistym i tworzenie interaktywnych testów. Zazwyczaj będziesz wiedział, że masz do czynienia z Python REPL, gdy zobaczysz te trzy strzałki:
>>>
Tutaj możesz umieścić swoje dane wejściowe.
Warto wspomnieć, że
Terminy "Python Shell" i "Python Interpreter" są czasami używane zamiennie, ale istnieje między nimi subtelna różnica. Interpreter Pythona odnosi się do rzeczywistego programu lub oprogramowania, które wykonuje kod Pythona. Powłoka Pythona jest natomiast interfejsem, który pozwala na interakcję z interpreterem w czasie rzeczywistym.
Poza standardowymi powłokami Python i Python3, wiele osób korzysta również z IPython i bpython, które są programami wiersza poleceń oferującymi unikalne funkcje, takie jak podświetlanie składni.
Możesz zobaczyć, że IPython i bpython są domyślnie ładniejsze (poniżej zobaczymy, jak sprawić, by standardowy REPL również był ładniejszy).
Warto również zauważyć, że REPL IPythona numeruje linie wejściowe "In [1]", "In [2]" itd.
W przeciwieństwie do IPython, bpython zachowuje układ >>>.
REPL może również zapewniać funkcje takie jak historia poleceń, uzupełnianie tabulatorów i możliwość dostępu do wcześniej zdefiniowanych zmiennych i funkcji, co czyni go wygodnym narzędziem do interaktywnego programowania i eksploracji Pythona.
To sprawia, że REPL jest nieocenionym narzędziem dla każdego, kto chce pobawić się swoim Raspberry Pi.
Teraz, gdy jesteś już na bieżąco z tym, czym jest REPL, poznajmy kilka sztuczek związanych z jego używaniem:
Sztuczka 1: Znajdź dokumentację
Dokumentację dowolnego obiektu lub modułu Pythona można znaleźć bezpośrednio z REPL, używając polecenia help()
funkcja.
Na przykład wpisanie help(str)
wyświetli dokumentację dla obiektu string. Można również dołączyć określoną nazwę metody lub funkcji, aby uzyskać szczegółowe informacje, takie jak
help(str.upper)
Jeśli to wpiszesz, zobaczysz następujące informacje:
Sztuczka 2: Wykorzystaj uzupełnianie kart
W zależności od używanego programu, Python REPL obsługuje uzupełnianie tabulatorów, co może zaoszczędzić czas i zapobiec literówkom. Naciśnięcie klawisza Tab po wpisaniu częściowej nazwy lub obiektu spowoduje wyświetlenie dostępnych opcji.
Na przykład, jeśli wpiszesz int.
a następnie naciśnij Tab, zobaczysz listę metod do uruchomienia z liczbami całkowitymi.
Sztuczka 3: Tworzenie oświadczeń wielowierszowych
Co więcej, REPL pozwala na pisanie wielowierszowych instrukcji przy użyciu kontynuacji linii.
Jeśli chcesz podzielić instrukcję na wiele wierszy w celu zwiększenia czytelności, możesz użyć znaku odwrotnego ukośnika (\
) na końcu każdej linii, aby kontynuować ją w następnej linii (patrz przykład 1 poniżej).
Możesz również umieścić instrukcję w nawiasach lub nawiasach, aby kontynuować ją w następnej linii (patrz przykład 2 poniżej).
# example 1: using backslash for a multi-line statement
name = 'Fatima'
age = 46
country = 'Germany'
message = 'Hi, ' + \
name + \
'! You are ' + \
str(age) + \
' years old and from ' + \
country + '.'
print(message)
# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'
# example 2: using parentheses for a multi-line statement
total = (1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9)
print("The total is:", total)
# the message will be 'The total is: 45'
Sztuczka 4: Dostęp do wcześniej wpisanego kodu
Dostęp do wcześniej wpisanego kodu w REPL można uzyskać za pomocą klawiszy strzałek w górę i w dół, podobnie jak w terminalu.
Naciśnięcie klawisza strzałki w górę spowoduje cykliczne przeglądanie historii poleceń, umożliwiając szybkie przywoływanie i modyfikowanie poprzednich poleceń. Sprawdź to sam!
Sztuczka 5: Wykorzystaj zmienną podkreślenia
Zmienna podkreślenia (_)
przechowuje wynik ostatniego wyrażenia obliczonego w REPL.
Może się to przydać, gdy trzeba ponownie wykorzystać wynik w kolejnych operacjach bez konieczności ponownej oceny całego wyrażenia. Jeśli więc musisz wykonać szybkie obliczenia lub chcesz bardzo szybko pobrać dane - możesz po prostu wpisać podkreślenie jako standardową zmienną poprzedniego wyniku.
Sztuczka 6: Wykonywanie poleceń systemowych i magicznych (IPython)
W IPythonie (skrót od "Interactive Python") można wykonywać polecenia systemowe bezpośrednio, poprzedzając linię kodu wykrzyknikiem (!
).
Razem z IPython's magiczne polecenia, like %cd to change directory, you’re able to use the Python REPL for seamless integration!
Na przykład, !ls
w systemach uniksowych lub !dir
w systemie Windows wyświetli zawartość bieżącego katalogu.
Sztuczka 7: Eksperymentuj z importami
W Python REPL można eksperymentować z importami bez konieczności tworzenia oddzielnych plików Pythona. Ta funkcja umożliwia importowanie modułów, wypróbowywanie ich funkcji i interaktywne eksplorowanie ich zawartości, dzięki czemu jest wygodna do szybkiego eksperymentowania i eksplorowania różnych modułów i ich możliwości.
Oto jak można użyć Python REPL do eksperymentowania z importami:
>>> import math
>>> math.sqrt(16)
4.0
W tym przykładzie używamy sqrt()
z funkcji math
aby obliczyć pierwiastek kwadratowy z 16.
Używając Python REPL do eksperymentowania z importami, można szybko testować i badać funkcjonalność różnych modułów bez konieczności tworzenia oddzielnych plików Pythona.
Ten interaktywny i iteracyjny proces pozwala lepiej zrozumieć działanie różnych modułów, wypróbować różne funkcje i sprawdzić ich wyniki w czasie rzeczywistym.
Sztuczka 8: Dostosuj zapytanie REPL
Nie podoba ci się >>> jako główny znak zachęty i ... jako dodatkowy znak zachęty?
Masz szczęście, ponieważ możesz dostosować monit wyświetlany przez Python REPL.
Poprzez modyfikację sys.ps1
oraz sys.ps2
można zmienić odpowiednio podpowiedź główną i dodatkową.
Po prostu biegnij:
import sys
sys.ps1 = 'primary'
sys.ps2 = 'secondary'
Teraz główny monit będzie brzmiał "podstawowy", a drugi "dodatkowy". Możesz zmienić to na cokolwiek chcesz! Wypróbuj na przykład symbole lub emotikony!
Wykonanie tego w ten sposób wpłynie tylko na bieżącą sesję REPL. Jeśli chcesz uczynić rzeczy nieco bardziej trwałymi, musisz znaleźć plik ".pyrc" i edytować podpowiedzi tam zawarte.
Pamiętasz moje nudne, brzydkie promptery w moich REPL powyżej? Zmieńmy ich kolor.
Jeśli korzystasz z Linuksa, możesz wprowadzić poniższe polecenie do terminala:
tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F
Spowoduje to zmianę koloru głównego monitu na niebieski na szarym, a drugiego monitu na fioletowy na szarym, jeśli tego szukasz. Zachęcamy do eksperymentowania ze wszystkimi Sekwencje kolorów ANSI aby znaleźć odpowiedni kolor promptera.
Gdy już to zrobisz, upewnij się, że to wyeksportowałeś:
export PYTHONSTARTUP=~/.pyrc
Teraz podpowiedzi powinny wyglądać następująco:
Ponownie, jest to tylko tymczasowe. Jeśli chcesz zmienić coś na stałe, będziesz musiał zmienić plik konfiguracyjny. Daje to jednak przedsmak zabawy!
Sztuczka 9: Eksploruj moduły i obiekty
Jeśli chcesz uzupełnić wyszukiwanie dokumentacji i korzystanie z uzupełniania zakładek, to jest to sztuczka, która uzupełnia pakiet!
Zawartość modułu (lub obiektu) można przeglądać za pomocą funkcji dir()
funkcja.
Przekazując moduł lub obiekt jako argument, zwraca listę nazw w tym module lub obiekcie, umożliwiając eksplorację dostępnych atrybutów, metod i funkcji.
Na przykład:
import math
print (dir(math))
Spowoduje to wyświetlenie listy dostępnych atrybutów, metod i funkcji w module matematycznym.
Sztuczki takie jak ta mogą mieć kluczowe znaczenie dla płynnego przepływu pracy.
Po zapoznaniu się z tymi 9 sztuczkami będziesz w stanie efektywniej korzystać z REPL.
Dzięki temu debugowanie i testowanie kodu przebiegnie znacznie sprawniej.
Daj nam znać w komentarzach poniżej, jakie masz sztuczki REPL!