Praktycznie każdy program potrzebuje tzw. operacji wejścia/ wyjścia. Bez tego, program działałby sam dla siebie, nie byłoby żadnych interakcji ze światem zewnętrznym, z użytkownikiem. Jest to oczywiście bardzo szeroki temat. Operacje wejścia to może być np. odczyt z pliku, odczytanie zawartości z bazy, wysłanie żądania i odczytanie zawartości z jakiegoś serwera – tutaj mamy ogrom możliwości. Podobnie mamy z operacjami wyjścia – to może być wyświetlenie czegoś w interfejsie użytkownika aplikacji, to może być zapisanie gdzieś trwale pewnych informacji.
W takiej najbardziej podstawowej formie, na takim najprostszym poziomie, można by sobie wyobrazić program działający w konsoli, który wyświetla jakieś zapytania użytkownikowi, użytkownik musi podjąć decyzję, coś wpisać. I to jest przykład takiej najprostszej operacji wejścia realizowanej w konsoli. Natomiast operacje wyjścia już zostały omówione nieraz wcześniej, chociażby nasza funkcja print(), która tutaj, do konsoli, nam pewną treść, pewne dane wyprowadzała. Teraz właśnie omówimy ten brakujący element – input – czyli wejście, w tej aplikacji konsolowej. Będziemy mogli wyświetlać takie pewne monity użytkownikowi, żeby coś wprowadził. I coś będziemy z tymi danymi mogli zrobić. Jak to w praktyce realizujemy?
Kodzik na imię
Mamy taki najprostszy, podstawowy input, taka najprostsza, wbudowana funkcja Pythona. Gdzie w nawiasie możemy wyświetlić jakąś podpowiedź, własny string, własny tekst. Przykładowo „wprowadź swoje imię”, jak na obrazku poniżej.
Input to przeciwieństwo print(), czyli tutaj będziemy wprowadzali do konsoli pewne dane. Spróbujmy to uruchomić.
Pojawił nam się, w konsoli, tekst „Wprowadż swoje imię” i kursor tekstowy, za pomocą którego możemy wprowadzić imię. Co stanie się po wprowadzeniu imienia i zatweierdzeniu go klawiszem enter? Przekonaj się sam 😉
Oczywiście nic się nie stanie, bo funkcjonalność naszego programu tutaj się kończy – czeka na wprowadzenie imienia, a po podaniu tekstu i zatwierdzeniu go, program po prostu się kończy. Oczywiście użyteczność takiego programu jest praktycznie zerowa.
Skoro już użytkownik wprowadza to swoje imię, wprowadza jakieś dane, to spróbujmy z nimi coś zrobić. Może po prostu je wyświetlimy za pomocą funkcji print(). Tylko co musimy zrobić? Ano musimy przypisać do pewnej zmiennej to co użytkownik wprowadził – czyli rezultat działanie inputa musimy do zmiennej przypisać i później tą zmienną, za pomocą print, wyprowadzić z powrotem. Nazwijmy taką zmienną przykładowo name, by była samoopisywalna – czyli jej nazwa już nam mówi co w niej jest.
Teraz możemy się w środku printa, do tego name odwołać, żeby wyprowadzić zawartość zmiennej na ekran. Działanie powyższego kodu sprawdź sam 😉 To jest oczywiście bardzi trywialny przykład, ale tutaj już widzimy pewną zasadę działania, takie najprostsze operacje I/O (input/output).
Nasz programik możemy oczywiście wzbogacić, przykładowo dodając przed wyświetleniem imienia tekst „Twoje imię to: „, spróbuj samemu to zrobić.
Mamy najprostszy przykład interakcji – programu, który wyświetla nam coś, możemy coś wprowadzić, a ten program zwraca nam jakiś wynik, uwzględniając to co wprowadziliśmy – pokazuje to zasadę działania operacji I/O, która jest powszechnie wykorzystywana, nie tylko w Pythonie.