W tym artykule opiszę Ci dokładnie działanie funkcji "print" w języku Python, jednej z najbardziej podstawowych funkcji, którą zazwyczaj poznajesz jako pierwszą 🙂. Dowiesz się nie tylko o jej oczywistym zastosowaniu, lecz także jak pewne dodatkowe parametry mogą zmienić jej działanie! Jest szansa, że nawet znając ją już jakiś czas dowiesz się czegoś nowego 😉!
WYJAŚNIAM ZNACZENIE FUNKCJI "PRINT" W JĘZYKU PYTHON!
Zacznę od prezentacji podstawowego zastosowania funkcji "print", a potem przejdziemy do jej alternatywnych sposobów użycia, które są dużo rzadziej stosowane, w zależności od zapotrzebowania 🙂.
DO CZEGO SŁUŻY FUNKCJA "PRINT" W JĘZYKU PYTHON?
"print" w Pythonie to funkcja do wypisywania podanej wartości dowolnego typu danych na strumień wyjściowy 💡. Zwracam uwagę na dwa kluczowe fragmenty tej definicji: "dowolny typ danych" i "strumień wyjściowy" 🚨!
W większości materiałów czy prezentacji ujrzysz najprostszą postać funkcji "print" i tłumaczenie, że to wypisuje tekst na konsolę ❌. To nie jest poprawne stwierdzenie, ponieważ 👇:
- możesz wstawić wartość dowolnego typu danych (łańcuch znaków, liczbę całkowitą, liczbę zmiennoprzecinkową, listę, obiekt itd.),
- miejsce na wynik funkcji "print" wcale nie ogranicza się tylko do konsoli powłoki Pythona (możesz "przekierować" strumień wyjściowy na inne miejsce docelowe np. plik 📂!).
To ważne, aby od razu to sobie wyjaśnić, gdyż wtedy zrozumiesz z czego wynika pełen potencjał funkcji "print" 🔥! Przyjmowanie parametrów, przetwarzanie wyrażeń i wypisywanie wyniku końcowego na konsolę to tylko jedno z jego zastosowań 😲!
Strumień wyjściowy znany jako "stdout" (skrót od "standard output" ℹ️) oznacza kanał przez który przetworzone dane są "wyprowadzane" na zewnątrz do wskazanego miejsca 🎯. Domyślnym kanałem w Pythonie jest konsola powłoki, natomiast nie musi tak być ⚠️! Możesz dla przykładu wskazać plik, aby to w nim znalazły się przetworzone treści 👍! Dlatego określenie "wypisywania na konsolę" jest z formalnego punktu widzenia niepoprawne 🙂.
Teraz czas na przykłady użycia 👀! Zaczniemy od najbardziej powszechnych, a potem przejdziemy do mniej znanych 😉!
PRZYKŁADY UŻYCIA FUNKCJI "PRINT" W JĘZYKU PYTHON
Zaczynamy! Najpierw proste kwestie, potem troszkę trudniejsze 😄!
W każdym z przypadków postępujemy tak samo ✔️. Najpierw piszemy słowo "print", otwieramy parę nawiasów okrągłych, a wewnątrz nich wprowadzamy wartość dowolnego typu danych 👇:
print([wartość dowolnego typu danych])Korzystanie z funkcji nazywamy "wywoływaniem funkcji", a postać tego wywoływania jest zawsze ta sama, czyli nazwa, nawiasy okrągłe (wstawiamy je zawsze, bez względu na parametry ⚠️) i ewentualne parametry wewnątrz nich 📜.
Więcej o samych funkcjach jest napisane w odrębnym artykule ℹ️.
WPROWADZENIE SAMEJ WARTOŚCI DO FUNKCJI "PRINT"
Jedna z najbardziej podstawowych postaci funkcji "print" w języku Python, to wprowadzenie samej wartości, taka jaka jest. Oto przykład łańcucha znaków 👇:
print('Mój łańcuch znaków')Na wyjściu otrzymamy ten sam łańcuch, to łatwe do przewidzenia 😁. Możemy wstawiać liczby - całkowitą (bez ułamka) i zmiennoprzecinkową (z ułamkiem) 👇:
print(6)
print(6.7)co też spowoduje otrzymanie na wyjściu tych samych liczb 😊.
Ciekawiej jest jak podasz obiekt powstały z klasy (więcej informacji w osobnym artykule ℹ️). Wtedy na wyjściu otrzymasz ciąg tego rodzaju 👇:
<__main__.[nazwa klasy] object at 0x0000000000000000>Klasa jest niestandardowym typem danych, a to oznacza, że sami musimy zdecydować co i w jaki sposób ma się pojawiać na wyjściu 🔔! Robimy to poprzez przesłonięcie jednej z metod klasy, "__str__" 🔥.
Nie przejmuj się, jeśli nie miałeś(-aś) jeszcze styczności z klasami 😊. Ten fragment dodałem jako ciekawostkę 🙂.
![]() |
"print" w języku Python akceptuje wartość każdego typu danych, w tym również obiekty pochodzące od klas!
WPROWADZENIE WYRAŻENIA DO FUNKCJI "PRINT"
Drugim częstym zastosowaniem jest wprowadzenie nie samej wartości, a jakiegoś wyrażenia 2️⃣. Może to być 👇:
- zsumowanie kilku liczb,
- konkatenacja łańcuchów ("złączenie" kilku osobnych łańcuchów znaków w jeden ℹ️),
- wywołanie innej funkcji w środku (zagnieżdżenie).
Popatrzmy na przykłady 👇:
print(5 + 10)Na wyjściu ujrzymy sumę podanych liczb, czyli 15 ✔️. A to przykład z konkatenacją 👇:
print('Jeden łańcuch' + ' ' + 'z' + ' ' + 'z drugim')To spowoduje "sklejenie" wszystkich łańcuchów w jeden i ułożenie na wyjściu łańcucha takiej postaci 👇:
"Jeden łańcuch z drugim"
Trzeci rodzaj wyrażenia jaki podałem, to na przykład taka sytuacja 👇:
print(len('Łańcuch'))Parametr funkcji "print" posiada w sobie wywołanie innej funkcji 😮! To sprawi, że Python najpierw wyznaczy wartość parametru ("len" zwraca liczbę całkowitą jako długość podanej sekwencji ℹ️), "dowie się", że wartość wynosi 7 i wtedy dopiero ta wartość zostanie przekazana funkcji "print", co spowoduje ujrzenie wyniku w postaci liczby 7 😊.
Czyli widzimy, że funkcja "print" potrafi dostosować się do wszystkich standardowych typów danych i bez problemu poradzi się z podanym wyrażeniem, zwracając odpowiedni rodzaj wyniku ✅.
![]() |
"print" w języku Python potrafi też bez problemu obsłużyć różne wyrażenia: arytmetyczne, konkatenacji i zagnieżdżonych wywołań innych funkcji!
To są 2 najbardziej podstawowe zastosowania funkcji "print" w języku Python ✅. No to teraz przyjrzyjmy się co jeszcze potrafi ta funkcja, a co jest rzadziej spotykane 🔥!
WPROWADZENIE WIELU PARAMETRÓW DO FUNKCJI "PRINT"
Możesz nie wiedzieć, że "print" nie ogranicza się tylko do jednego parametru 😳! Funkcja pozwala na wprowadzenie dwóch 👇:
print('a', 'b')trzech 👇:
print('a', 'b', 'c')pięciu 👇:
print('a', 'b', 'c', 'd', 'e')dziesięciu 👇:
print('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')Ilu chcesz 😱! W każdym z przypadków uzyskamy taki wynik, że pojedyncze parametry będą oddzielone od siebie spacją 👍.
Zjawisko jakiego jesteśmy świadkami określa się hasłem "zmienna liczba parametrów" bądź "zmienna liczba argumentów" ℹ️!
![]() |
"print" jest funkcją obsługującą zmienną liczbę parametrów. Oznacza to, że przy każdym jej wywołaniu możesz wprowadzić nieregularną liczbę parametrów!
CZYM JEST ZMIENNA LICZBA PARAMETRÓW W JĘZYKU PYTHON?
Zmienna liczba parametrów (lub argumentów ℹ️) to konstrukcja pozwalająca na wprowadzanie do tej samej funkcji nieregularną liczbę parametrów 🔥. Wymaga ona wprowadzenia parametru do definicji funkcji ze znakiem poprzedzającym nazwę w postaci "gwiazdki" (choć w rzeczywistości, to asterysku ⚠️).
Warto wiedzieć, że nie jest to żadna unikalna cecha Pythona, bo to posiada wiele innych języków programowania ℹ️.
Więcej informacji o zmiennej liczbie argumentów zostanie przedstawionych w osobnym artykule ℹ️.
JAK FUNKCJA "PRINT" KAŻDORAZOWO WYPISUJE WYNIKI OD NOWEGO WIERSZA?
Jak zapewne już zauważyłeś(-aś), funkcja "print" w języku Python za każdym razem pisze kolejne wyniki w nowej linii. Natomiast to nie jest część jej niezmiennego działania ⚠️! To wynika ze znaku nowej linii (\n), tak zwanego "znaku ucieczki" (ang. escape character), który jest automatycznie dodawany do wyniku końcowego 😱! Znak nowej linii daje ten sam efekt, jak naciśnięcie klawisza Enter chcąc przejść do nowego wiersza podczas pisania tekstu ℹ️.
Gdy wstawimy cokolwiek do funkcji "print" 👇:
print('Mój łańcuch znaków')to ona "doczepia" na końcu znak nowej linii 👇:
'Mój łańcuch znaków\n'co powoduje każdorazowe rozpoczynanie od nowego wiersza 👍. Jednak nie piszę tego tylko dlatego, aby to wyjaśnić 😉! Możesz wpływać na to, jaki to ma być ciąg 💥!
JAK ZMIENIĆ CIĄG KOŃCOWY W FUNKCJI "PRINT"?
Wywołując funkcję "print", wystarczy wpisać argument dodatkowy o nazwie "end" i wprowadzić ciąg jaki chcesz, aby był dodany na końcu wyniku końcowego 👇:
print('Mój łańcuch znaków', end='A')To spowoduje dopisanie na końcu dużej litery 'A' 👍. To może być cały łańcuch znaków, niekoniecznie pojedynczy znak 👇:
print('Mój łańcuch znaków', end='[KONIEC]')Taki zapis sprawi, że do wyniku dopisze się łańcuch "[KONIEC]" 😊. To również warto wiedzieć, że możesz wpływać w pewien sposób na formatowanie rezultatów funkcji "print" ✅.
![]() |
Funkcja "print" w języku Python pozwala na określenie jaki łańcuch znaków ma zostać dodany do wyniku końcowego. Domyślnie przyjmuje znak ucieczki nowej linii (\n), co powoduje przejście do nowego wiersza.
PRZEKIEROWANIE WYNIKU FUNKCJI "PRINT" DO PLIKU
Kolejny bajer funkcji "print", to realny zapis wyniku do pliku 🤩!!! To przełamuje błędne przekonanie u niektórych osób, że ta funkcja służy tylko do wypisywania wyników na konsolę i tyle 😄.
Aby "przekierować" strumień do pliku zamiast konsoli, trzeba wykonać 2 kroki 👇:
- utworzyć zmienną do odniesienia do pliku (może być tekstowy, lecz nie musi),
- wprowadzić argument dodatkowy do wywołania funkcji o nazwie "file".
Możemy przykładowo napisać w ten sposób 👇:
with open('plik.txt', 'w', encoding='utf-8') as my_file:
print('Mój łańcuch znaków', file=my_file)Na początku musimy utworzyć sobie zmienną, aby móc ją później przekazać w miejsce parametru funkcji "print" 🙂. Najwygodniejszą metodą jest skorzystanie z instrukcji "with" (o której więcej informacji możesz wyczytać z załączonego materiału ℹ️) i połączenie z funkcją "open" do otwierania plików (o tym również jest osobny materiał 😄). Następnie wewnątrz bloku "with" korzystamy z funkcji "print", tak samo jak zwykle, lecz tym razem dodajemy nowy parametr "file" i wskazujemy nasz plik ❤️.
Obsługa plików może się nie powieść, z różnych przyczyn np. brak pliku o podanej nazwie, co prowadzi do awarii programu w postaci zgłoszenia wyjątku (więcej informacji w załączonym artykule ℹ️). Dlatego zawsze musimy nałożyć zabezpieczenie w kodzie, a jednym ze sposobów jest instrukcja "with" ✔️.
Efekt końcowy jest taki, że po uruchomieniu programu, w konsoli nic się nie wyświetli, za to w katalogu zawierającym skrypt programu pojawi Ci się nowy plik tekstowy, a w nim wynik funkcji "print" 🤩! Wówczas będziemy świadkami "wkładania" tekstu do podanego pliku 🙂.
Teraz widzisz, że "print" nie ogranicza się jedynie do konsoli 😉.
Funkcja "print" może swoje wyniki "skierować" do wskazanego pliku! Wtedy to plik stanie się miejscem uzyskanych danych, a nie powłoka!
Została ostatnia rzecz z tego tematu 🙂.
CZY FUNKCJA "PRINT" W JĘZYKU PYTHON ZWRACA JAKĄŚ WARTOŚĆ?
Funkcja "print" w języku Python nie zwraca żadnej wartości ⛔. W chwili próby przypisania rezultatu funkcji "print" do zmiennej 👇:
result = print('Mój łańcuch znaków')
print(result)ujrzysz tylko "None", czyli typ danych oznaczający brak wartości (odpowiednik wartości "null" w wielu innych językach ℹ️). Zadaniem funkcji "print" jest tylko przetworzenie przyjętych danych i "wysłanie" ich do strumienia wyjściowego. Nic więcej 😉.
Teraz już naprawdę wszystko na temat funkcji "print" w języku Python 😊. Jak sam(a) widziałeś(-aś), jej potencjał jest dużo wyższy niż tylko znane "wypisywanie tekstu na konsolę" 😁!



