TI/Pierwsze kroki

Z Brain-wiki

W pierwszym kroku nauczymy się uruchamiać w Pythonie tradycyjny* program „Witaj świecie!". Dzięki temu nauczysz się pisać w języku Python, a także zapisywać i uruchamiać swoje pythonowe programy.

*Jest taka tradycja, że za każdym razem, kiedy uczysz się nowego języka programowania, pierwszym programem jest „Witaj świecie!” (w oryginale „Hello World”) — wszystko, co robi, to tylko wypisanie tekstu „Witaj świecie!”.


Są dwa sposoby uruchamiania programów pythonowych: użycie linii poleceń interpretera lub użycie pliku źródłowego. Zobaczmy, w jaki sposób korzystać z tych metod.


Praca z Pythonem

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

  • interaktywnie z linii poleceń,
  • zapisując polecenia w pliku tekstowym i wykonując je jako program.

Używanie linii poleceń interpretera

Uruchom interpreter Pythona, wpisując python w powłoce (ang. shell) systemowej. Jeśli używasz Linuksa lub BSD, otwórz w tym celu program w rodzaju konsole czy terminal.

W przypadku Mac OS X otwórz Terminal (znajdziesz go w: Finder → Aplikacje → Użytki → Terminal), a jeśli używasz Windows, to uruchom (Start → Uruchom...) cmd lub (w przypadku starszych wersji Windows) command albo po prostu znajdź odpowiednią pozycję w menu.

Zauważ, że w przypadku Windows musisz zadbać o poprawnie ustawioną zmienną PATH.

Użytkownicy Windows mogą chcieć również używać IDLE. Uzyskasz do niego dostęp przez:

Start → Wszystkie programy → Python 2.x → IDLE (Python GUI). 

Teraz wpisz print 'Witaj świecie!' i wciśnij Enter. Na ekranie powinien pojawić się napis Witaj świecie!

$ python
Python 2.5.4 (r254:67916, Mar 13 2009, 18:11:09)
[GCC 4.1.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Witaj świecie!'
Witaj świecie!
>>>

Uwaga:

Napis: >>> oznacza, że Python oczekuje na wprowadzenie polecenia. Z ang. nazywa się to prompt.

Zobacz, Python natychmiast zwraca wynik! To, co właśnie wprowadziłeś, to pojedyncze polecenie Pythona. Używamy print (ang. drukuj, wypisz), aby wypisać to, co mu podamy. W naszym przypadku podaliśmy tekst Witaj świecie! i został on natychmiast wyświetlony na ekranie.

Jak wyjść z interpretera?

  • Jeśli używasz IDLE bądź powłoki systemowej Linuksa/BSD/Mac OS X, wciśnij po prostu Ctrl-D.
  • Jeśli używasz Pythona w linii poleceń Windows, naciśnij Ctrl-Z, a następnie Enter.

Pliki źródłowe

Wróćmy wreszcie do programowania.

Jak pisać programy w Pythonie?
Od tego momentu nasza standardowa procedura zapisu i uruchamianiu programów w Pythonie będzie wyglądała następująco:
  1. Otwórz swój ulubiony edytor → na naszych zajęciach IDLE :-)
  2. Wprowadź/Skopiuj kod programu podany w przykładzie.
  3. Zapisz plik pod nazwą podaną w komentarzu. Przyjmijmy, że programy Pythona będziemy zapisywali z rozszerzeniem .py.
  4. Teraz możesz uruchomić program jedną z poniższych metod:
  • w powłoce systemowej za pomocą polecenia python nazwa.py, gdzie nazwa jest nazwą pliku
  • użyj klawisza F5 w edytorze IDLE
  • wpisz execfile('nazwa.py') w lini poleceń interpretera, aby uruchomić program.



Gratuluję, jeśli wynik jest podobny powyższego! Właśnie uruchomiłeś swój pierwszy program w Pythonie.

Jeśli wystąpił błąd, przepisz program tak, żeby wyglądał dokładnie tak, jak powyższy i spróbuj uruchomić go jeszcze raz. Zwróć uwagę na to, że Python rozróżnia wielkość liter, np. print znaczy co innego, niż Print (zauważ wielkie P w drugim). Upewnij się także, że nie ma żadnych spacji ani też znaków tabulacji na początku jakiejkolwiek linii (za moment dowiesz się, dlaczego jest to takie jest istotne).

Jak to działa?

Zacznijmy od przeanalizowania pierwszej linii naszego programu. Jest to tak zwany komentarz. Wszystko, co znajduje się na prawo od znaku # jest pomijane w trakcie wykonywania programu i przydaje się przede wszystkim jako notatki pozostawione dla przyszłego czytelnika programu. Python nie interpretuje komentarzy.

Program w Pythonie możesz uruchomić wpisując polecenie, nazwę interpretera i pliku, czyli tak jak w naszym poprzednim przykładzie, python witaj.py.

Uwaga o komentarzach

Komentarze są ważne, ponieważ pomagają wprowadzać szczegółowe notatki związane z programem. Powinny one wyjaśniać, co program wykonuje, albo też informować o rzeczach, które czekają na poprawienie/dokończenie/zrobienie. Mogą się one okazać bardzo przydatne dla osób, które będą czytały Twój program. Również Tobie z pewnością się przydadzą, kiedy na przykład będziesz czytał swój program sześć miesięcy po jego napisaniu.

W naszym pierwszym programie po komentarzach następuje polecenie Pythona, które wypisuje na ekran słowa Witaj świecie!. print jest instrukcją (w nowym Pythonie 3.x jest to już funkcja i używa się jej nieco inaczej, ale nie będziemy się tym teraz martwić), a dostarczone przez nas 'Witaj świecie!' jest napisem (ang. string). Wyjaśnimy tę terminologię później.

Wcięcia

Przez znaki niewidoczne rozumiemy spację, tabulator itp. Rozpoczęcie od nich linii tekstu nazywamy wcięciem linii. Znaki niewidoczne znajdujące się na początku linii są w języku Python bardzo istotne. Spacje i znaki tabulacji na początku linii są brane pod uwagę przy określaniu stopnia wcięcia danej linii, co z kolei pozwala Pythonowi grupować polecenia. Polecenia, które są tak samo wcięte tworzą blok poleceń.

Powinieneś również zapamiętać, że nieprawidłowe wcięcia pociągają za sobą czasem trudne do znalezienia błędy. Spójrz na ten przykład:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Nazwa pliku: wciecia.py

i = 5
 print 'Wartość zmiennej to ', i # Błąd! Zauważ spację na początku linii
print 'Powtarzam, wartość zmiennej to ', i

Próbując uruchomić powyższy program, prawdopodobnie otrzymasz następujący błąd:

  File "wciecia.py", line 4
    print 'Wartość zmiennej to ', i # Błąd! Zauważ spację na początku linii
    ^
IndentationError: unexpected indent

Python podpowiada, że we wskazanej linii znajduje się nieoczekiwane wcięcie. Nie można dowolnie zaczynać nowych bloków poleceń. Sytuacje, w których możesz rozpoczynać nowe bloki, zostaną opisane w następnych rozdziałach.

Miłą konsekwencją stosowania wcięć jest to, że w ten sposób Python zmusza nas do pisania bardziej schludnego kodu, który jest bardziej przejrzysty dla czytelnika.

Jak używać wcięć?
Nie używaj mieszaniny tabulatorów i spacji do stosowania wcięć, ponieważ nie działa to prawidłowo na wszystkich platformach. Zdecydowanie polecam żebyś używał pojedynczego tabulatora lub czterech spacji na każdy jeden stopień wcięcia.

Wybierz jeden z powyższych sposobów stosowania wcięć i stale używaj tylko tego sposobu.


Programy wykonywalne w Pythonie (na potem)

Można spowodować, by program w Pythonie zachowywał się jak każdy inny program, tzn. żeby można było go uruchomić podając jedynie jego nazwę. Zob. TI\Wykonywalne programy w Pythonie.

Uzyskiwanie pomocy

Jeśli szybko musisz znaleźć opis funkcji lub polecenia Pythona, możesz skorzystać z wbudowanej pomocy (ang. help). Przydaje się to szczególnie podczas używania wiersza poleceń interpretera. Dla przykładu możesz wykonać help('string'), a uzyskasz pomoc odnośnie napisów.

Uwaga
Aby zakończyć pomoc, wciśnij q.

W podobny sposób możesz uzyskać informacje na temat niemal wszystkiego, co dotyczy Pythona. By dowiedzieć się więcej o samej pomocy, użyj help().

$ python
Python 2.5.4 (r254:67916, Mar 13 2009, 18:11:09)
[GCC 4.1.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help('print')

Zauważ, że musimy użyć apostrofów i zapytać o 'print', bo print jest tzw. słowem kluczowym i nie może być użyte jako argument do help.

Podsumowanie i ćwiczenia