Python w przykÅadach
**************************************
Jestem Python
================
Python jest dynamicznie typowanym jÄzykiem interpretowanym wysokiego poziomu. Cechuje siÄ czytelnoÅciÄ
i zwiÄzÅoÅciÄ
kodu. Stworzony zostaÅ w latach 90. przez Guido van Rossuma, nazwa zaÅ pochodzi od tytuÅu serialu komediowego emitowanego w BBC pt. "LatajÄ
cy cyrk Monty Pythona".
W systemach opartych na Linuksie interpreter Pythona jest standardowo zainstalowany, ponieważ duża czÄÅÄ oprogramowania na nim bazuje. W systemach Microsoft Windows Pythona należy doinstalowaÄ. FunkcjonalnoÅÄ Pythona może byÄ dowolnie rozszerzana dziÄki licznym bibliotekom pozwalajÄ
cym tworzyÄ aplikacje okienkowe (PyQt, PyGTK, wxPython), internetowe (Flask, Django) czy multimedialne i gry (Pygame). IstniejÄ
również kompleksowe projekty oparte na Pythonie wspomagajÄ
ce naukowÄ
analizÄ, obliczenia i przetwarzanie danych (Anaconda, Canopy).
KodowaÄ można w dowolnym edytorze tekstowym, jednak ze wzglÄdów praktycznych warto korzystaÄ z programów uÅatwiajÄ
cych pisanie kodu. PoleciÄ można np. lekkie, szybkie i obsÅugujÄ
ce wiele jÄzyków Årodowisko Geany, a także profesjonalne rozwiÄ
zanie, jakim jest aplikacja PyCharm. Obydwa programy dziaÅajÄ
na platformie Linux i Windows.
Zanim przystÄ
pimy do pracy w katalogu domowym utworzymy podkatalog ``python``, w którym bÄdziemy zapisywali nasze skrypty:
.. raw:: html
Kod nr
.. code:: bash
~ $ mkdir python
Poznawanie Pythona zrealizujemy poprzez rozwiÄ
zywanie prostych zadaÅ, które pozwolÄ
zaprezentowaÄ elastycznoÅÄ i ÅatwoÅÄ tego jÄzyka. Nazwy kolejnych skryptów umieszczone sÄ
jako komentarz zawsze w czwartej linii kodu. Pliki zawierajÄ
ce skrypty Pythona majÄ
zazwyczaj rozszerzenie **.py**. Bardzo przydatnym narzÄdziem podczas kodowania w Pythonie jest konsola interpretera, którÄ
uruchomimy wydajÄ
c w terminalu polecenie ``python`` lub ``ipython``. Można w niej testowaÄ i debugowaÄ wszystkie wyrażenia, warunki, polecenia itd., z których korzystamy w skryptach.
.. note::
**Ipython** to rozszerzona konsola Pythona przeznaczona do wszelkiego rodzaju interaktywnych obliczeÅ.
ŹródÅa
--------------------
Jeżeli chcesz, pobierz wszystkie kody wykorzystywane we wprowadzeniu: :download:`basic.zip `
Przywitaj siÄ
=================
Mów mi Python!
-----------------------
**ZADANIE**: Pobierz od użytkownika *imiÄ*, *wiek* i powitaj go komunikatem:
"Mów mi Python, mam *x* lat.
Witaj w moim Åwiecie *imie*.
JesteÅ starszy(mÅodszy) ode mnie."
**POJÄCIA**: *zmienna, wartoÅÄ, wyrażenie, wejÅcie i wyjÅcie danych, instrukcja warunkowa, komentarz*.
.. raw:: html
Kod nr
.. literalinclude:: 01_hello.py
:linenos:
JAK TO DZIAÅA
^^^^^^^^^^^^^^
Deklaracja zmiennej w Pythonie nie jest wymagana, wystarczy podanej nazwie przypisaÄ jakÄ
Å wartoÅÄ
za pomocÄ
operatora przypisania "=". Zmiennym czÄsto przypisujemy wartoÅci za pomocÄ
wyrażeÅ,
czyli dziaÅaÅ arytmetycznych lub logicznych.
.. note::
Niekiedy mówi siÄ, że w Pythonie zmiennych nie ma, sÄ
natomiast wartoÅci okreÅlonego typu.
Funkcja ``raw_input()`` zwraca pobrane z klawiatury znaki jako napis, czyli typ **string**.
Funkcja ``int()`` umożliwia konwersjÄ napisu na liczbÄ caÅkowitÄ
, czyli typ **integer**.
Funkcja ``print`` drukuje podane argumenty oddzielone przecinkami. Komunikaty tekstowe ujmujemy
w cudzysÅowy podwójne lub pojedyncze. Przecinek oddziela kolejne argumenty spacjami.
Instrukcja ``if`` (jeżeli) pozwala na warunkowe wykonanie kodu. Jeżeli podane wyrażenie
jest prawdziwe (przyjmuje wartoÅÄ ``True``) wykonywana jest pierwsza instrukcja,
w przeciwnym wypadku (``else``), kiedy wyrażenie jest faÅszywe (wartoÅÄ ``False``),
wykonywana jest instrukcja druga. Warto zauważyÄ, że polecenia instrukcji warunkowej koÅczymy dwukropkiem.
CharakterystycznÄ
cechÄ
Pythona jest używanie wciÄÄ do zaznaczania bloków kodu.
Komentarze wprowadzamy po znaku ``#``.
POÄWICZ SAM
^^^^^^^^^^^^^^
ZmieÅ program tak, aby zmienna *aktRok* (aktualny rok) byÅa podawana przez użytkownika na poczÄ
tku programu.
Metryka
^^^^^^^
:Autor: Robert Bednarz
:Utworzony: |date| o |time|
.. |date| date::
.. |time| date:: %H:%M
.. raw:: html
.. include:: ../copyright.rst