Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

W większości przypadków użytkownicy Pythona zaczynają swoją podróż od zrozumienia
jak działa funkcja print(). Funkcja print pomaga programistom w pisaniu zdań jednowierszowych, takich jak hello world. Funkcja print może być również używana do wyświetlania sformatowanych wiadomości na ekranie oraz do wykrywania błędów. Funkcja print Pythona ma jednak o wiele więcej do zaoferowania i w tym artykule omówimy ją w całości.

Pomimo tego, że funkcja print() jest dość niedoceniana i nieco nudna, oferuje wiele rzeczy. Zanim przejdziemy dalej, warto pamiętać, że funkcja print() stała się ogromnym dodatkiem w Pythonie 3, gdzie skutecznie zastąpiła starszą funkcję print z Pythona 2.

Python i drukowanie

Przyjrzyjmy się kilku przykładom print w Pythonie, aby poznać różne sposoby wywoływania funkcji print(), co w języku programowania oznacza zapoznanie się z podpisem funkcji.

Print()

Nie musisz przekazywać argumentów, ale i tak musisz dodać pusty nawias, co umożliwi Pythonowi wykonanie tej funkcji, zamiast odwoływania się do niej tylko po nazwie. Spowoduje to utworzenie znaku nowej linii. Znak ten będzie niewidoczny i utworzy puste miejsce na ekranie. Możesz swobodnie wywoływać funkcję print() wiele razy, tak jak w tym przypadku, aby dodać spację pionową. Jest to dość podobne do naciskania klawisza “Enter” na klawiaturze.

Znak nowej linii

Jak już wcześniej wspomniano, nieużywanie argumentów podczas wywoływania funkcji print() powoduje utworzenie pustego wiersza. Linia ta zawiera jedynie znak nowej linii. Warto również pamiętać, że linia ta nie jest pusta. Wykorzystanie literałów łańcuchowych w Pythonie może pomóc w wizualizacji elementów wiersza.

Jeśli chcesz wymazać znak nowej linii z Pythona, rozważ użycie metody rstrip(). Oto, jak będzie to wyglądać.

W większości przypadków najlepiej byłoby przekazać komunikat w kierunku użytkownika końcowego. Oto, jak można to zrobić.

– Możesz zacząć od przekazania literału łańcuchowego do metody print (): co spowoduje wyświetlenie komunikatu o treści (proszę czekać, aż program się załaduje)
– Możesz wyodrębnić ten komunikat i nadać mu odpowiednią nazwę, aby poprawić czytelność, a jednocześnie zapewnić możliwość ponownego użycia kodu.
– Wreszcie, można przekazać wyrażenia, takie jak konkatenacja łańcuchów, do oceny przed przystąpieniem do drukowania wyniku.

Wierzcie lub nie, ale w Pythonie istnieje wiele technik formatowania komunikatów. Warto rozważyć skorzystanie z łańcuchów F obecnych w Pythonie 3.6, ponieważ ich składnia jest prawdopodobnie najbardziej zwięzła. Używanie łańcuchów F gwarantuje, że nie popełnisz typowych błędów, takich jak brak dodawania połączonych operandów. Ponieważ Python jest niezwykle silnym językiem, nie pozwala programistom na robienie takich rzeczy, jak poniższy przykład

Wymuszanie przekształcania liczb w ciągi jest po prostu złe i nie ma sensu. Zamiast tego idealnie byłoby zamienić liczbę na ciąg znaków w celu ich połączenia.

Python zawsze poinformuje Cię o problemach poprzez traceback, chyba że sam zajmiesz się takimi błędami.

Wyjście standardowe i funkcja print()

Jeśli jesteś programistą, to z pewnością wiesz, że każdy program zawiera obszar wyjścia tekstowego zwany standardowym wyjściem (stdout). Funkcja print python przyjmuje dane pythonowe, takie jak łańcuchy i ints, wypisując wartości na standardowe wyjście.
Nazwanie tekstu standard out w takim scenariuszu oznacza, że istnieje grupa wierszy, w której każdy wiersz jest grupą znaków zawierających znak nowej linii o wartości ‘n’ na końcu każdego wiersza. Wbrew pozorom standard out nie jest zbyt skomplikowany. W swej istocie jest to obszar tekstowy, który jest współdzielony przez każdy kod w programie.

Terminal standard out

Zawsze gdy ktoś uruchamia program w terminalu, widzi, że standard out pojawia się właśnie tam. Przyjrzyjmy się przykładowi, jak uruchomić polecenie hello.py w terminalu.
$ python3 hello.py
hello there
jak się masz?
U mnie w porządku
$

Funkcja print w języku Python

Funkcja print pythona zasadniczo przyjmuje dowolną liczbę parametrów, po czym zaczyna je wypisywać w pojedynczym wierszu tekstu. Gdy to nastąpi, elementy te są osobno konwertowane na tekst, oddzielane spacjami. Warto też pamiętać, że na końcu znajduje się znak “n”. Jeśli polecenie print() zostanie wywołane z 0 parametrami, wypisze tylko ‘\n’.
Kod źródłowy Pythona zapisuje tekst wewnątrz łańcucha za pomocą cudzysłowów, takich jak “hello”, aby wszyscy byli przyzwyczajeni do oglądania takich form. Warto również pamiętać, że podczas drukowania łańcucha zostaną wydrukowane tylko dane tekstowe tego łańcucha, bez żadnych cudzysłowów.
>>> print(‘Hello’)
Hello

Drukuj i zwracaj – zrozumienie korelacji

Użycie polecenia return jest bez wątpienia najlepszym sposobem zwrócenia wyników do wywołującego je użytkownika. Również użycie polecenia standard out jest drugorzędną alternatywą przekazywania danych na zewnątrz. Jest to jednak stosunkowo prostsze rozwiązanie. Zazwyczaj standardowy out ma postać tekstu i jest udostępniany w prawie każdej funkcji.

Dlatego najlepiej jest używać wartości zwracanych jako podstawowego mechanizmu testowania funkcji i wyprowadzania danych w czarnej skrzynce. Pamiętaj, że wyjście standardowe jest w zasadzie alternatywnym typem wyjścia funkcji i jest często używane do tworzenia wyjścia tekstowego dla użytkowników znajdujących się w terminalu.

Drukowanie do pliku

W print pythonie drukowanie na standardowym wyjściu jest dość powszechne. Jednak funkcja print() jest również idealna do drukowania na otwartych plikach. Jeśli chcesz otworzyć plik do zapisu, zacznij od dodania ‘w’ za każdym razem, gdy zamierzasz wywołać funkcję open(). W ten sposób zostanie usunięta istniejąca zawartość pliku, dlatego należy zachować ostrożność przy otwieraniu do zapisu. Gdy plik jest już otwarty, parametr wyboru file = będzie kierował wiersze tekstu do pliku, zamiast zapisywać je na standardowe wyjście.

Mimo że jest to podstawowa funkcja, print python może być dość trudny do zrozumienia. Jednak informacje i wskazówki omówione w tej części pozwolą ci lepiej zrozumieć tę funkcję i sprawią, że będziesz mógł efektywnie korzystać z funkcji print().