Python Tutorial
***************

Python jest łatwym do nauki, wszechstronnym językiem programowania. Ma
wydajne wysoko-poziomowe struktury danych i proste ale efektywne
podejście do programowania zorientowanego obiektowo. Elegancka
składnia Pythona i dynamiczne typowanie, wraz z jego naturą
interpretowania, czyni go idealnym językiem do skryptów i szybkiego
rozwijania aplikacji w wielu obszarach na większości platform.

Interpreter Pythona i obszerna biblioteka standardowa są swobodnie
dostępne w formie źródeł oraz binarnej dla wszystkich głównych
platform na stronie internetowej Pythona, https://www.python.org/, i
mogą być dowolnie rozpowszechniane. Ta sama strona zawiera również
dystrybucje i odniesienia do wielu wolnych zewnętrznych modułów,
programów i narzędzi Pythona oraz dodatkowej dokumentacji.

Interpreter Pythona można łatwo rozszerzyć nowymi funkcjami i typami
danych zaimplementowanymi w C lub C++ (lub innych językach
wywoływalnych z C). Python jest również odpowiedni jako język
rozszerzeń dla konfigurowalnych aplikacji.

Ten tutorial wprowadza nieformalnie czytelnika w podstawowe koncepcje
i cechy języka i systemu Python. Pomocnym jest mieć interpreter
Pythona pod ręką dla praktycznych doświadczeń, ale wszystkie przykłady
są samowystarczalne, więc tutorial może być również czytany off-line.

Opisy standardowych obiektów i modułów znajdziesz w Biblioteka
standardowa Pythona. Dokumentacja języka Python daje bardziej formalną
definicję języka. Aby pisać rozszerzenia w C lub C++, przeczytaj
Extending and Embedding the Python Interpreter i Python/C API
Reference Manual. Jest również kilka książek omawiających wyczerpująco
Pythona.

Ten tutorial nie próbuje wyczerpująco omówić każdą funkcję Pythona,
lub nawet każdą często używaną funkcję. Zamiast tego wprowadza wiele
funkcji najbardziej wartych zauważenia i da ci dobre rozumienie smaku
i stylu języka. Po przeczytaniu go, będziesz w stanie czytać i pisać
moduły i programy Pythona, oraz będziesz gotowy uczyć się więcej o
różnych modułach bibliotek Pythona opisanych w Biblioteka standardowa
Pythona.

Warto również przejrzeć Glosariusz.

* 1. Na zaostrzenie apetytu

* 2. Używanie Interpretera Pythona

  * 2.1. Wywoływanie Interpretera

    * 2.1.1. Przekazywanie argumentów

    * 2.1.2. Tryb interaktywny

  * 2.2. Interpreter i jego środowisko

    * 2.2.1. Strona kodowa kodu źródłowego

* 3. Nieformalne wprowadzenie do Pythona

  * 3.1. Używanie Pythona jako kalkulatora

    * 3.1.1. Liczby

    * 3.1.2. Ciągi znaków

    * 3.1.3. Listy

  * 3.2. Pierwsze kroki do programowania

* 4. Więcej narzędzi kontroli przepływu

  * 4.1. Instrukcje "if"

  * 4.2. Instrukcje "for"

  * 4.3. Funkcja "range()"

  * 4.4. "break" i "continue" oraz klauzula "else" w pętlach

  * 4.5. Instrukcje "pass"

  * 4.6. Definiowanie funkcji

  * 4.7. Więcej o definiowaniu funkcji

    * 4.7.1. Domyślne wartości argumentów

    * 4.7.2. Argumenty nazwane

    * 4.7.3. Parametry specjalne

      * 4.7.3.1. Argumenty pozycyjne-lub-kluczowe

      * 4.7.3.2. Parametry Tylko-Pozycyjne (Positional-Only)

      * 4.7.3.3. Argumenty Tylko-Kluczowe (Keyword-Only)

      * 4.7.3.4. Przykłady Funkcji

      * 4.7.3.5. Podsumowanie

    * 4.7.4. Arbitralne listy argumentów

    * 4.7.5. Rozpakowywanie listy argumentów

    * 4.7.6. Wyrażenia Lambda

    * 4.7.7. Napisy dokumentujące (docstringi)

    * 4.7.8. Adnotacje funkcji

  * 4.8. Intermezzo: Styl kodowania

* 5. Struktury danych

  * 5.1. Więcej na temat list

    * 5.1.1. Używanie list jako stosów

    * 5.1.2. Używanie list jako kolejek

    * 5.1.3. Wyrażenia listowe

    * 5.1.4. Zagnieżdżone wyrażenia listowe

  * 5.2. Instrukcja "del"

  * 5.3. Krotki i sekwencje

  * 5.4. Zbiory

  * 5.5. Słowniki

  * 5.6. Techniki pętli

  * 5.7. Więcej na temat warunków

  * 5.8. Porównywanie sekwencji i innych typów

* 6. Moduły

  * 6.1. Więcej o modułach

    * 6.1.1. Executing modules as scripts

    * 6.1.2. The Module Search Path

    * 6.1.3. "Compiled" Python files

  * 6.2. Standard Modules

  * 6.3. The "dir()" Function

  * 6.4. Packages

    * 6.4.1. Importing * From a Package

    * 6.4.2. Intra-package References

    * 6.4.3. Packages in Multiple Directories

* 7. Input and Output

  * 7.1. Fancier Output Formatting

    * 7.1.1. Formatted String Literals

    * 7.1.2. The String format() Method

    * 7.1.3. Manual String Formatting

    * 7.1.4. Old string formatting

  * 7.2. Reading and Writing Files

    * 7.2.1. Methods of File Objects

    * 7.2.2. Saving structured data with "json"

* 8. Błędy i Wyjątki

  * 8.1. Błedy składni

  * 8.2. Wyjątki

  * 8.3. Obsługa wyjątków

  * 8.4. Rzucanie Wyjątków

  * 8.5. Łańcuch Wyjątków

  * 8.6. Wyjątki Zdefiniowane przez Użytkownika

  * 8.7. Defining Clean-up Actions

  * 8.8. Predefined Clean-up Actions

* 9. Klasy

  * 9.1. Kilka słów o nazwach i obiektach

  * 9.2. Python Scopes and Namespaces

    * 9.2.1. Scopes and Namespaces Example

  * 9.3. A First Look at Classes

    * 9.3.1. Class Definition Syntax

    * 9.3.2. Class Objects

    * 9.3.3. Instance Objects

    * 9.3.4. Method Objects

    * 9.3.5. Class and Instance Variables

  * 9.4. Random Remarks

  * 9.5. Inheritance

    * 9.5.1. Multiple Inheritance

  * 9.6. Private Variables

  * 9.7. Odds and Ends

  * 9.8. Iterators

  * 9.9. Generators

  * 9.10. Generator Expressions

* 10. Krótka wycieczka po Bibliotece Standardowej

  * 10.1. Interfejs Systemu Operacyjnego

  * 10.2. File Wildcards

  * 10.3. Command Line Arguments

  * 10.4. Error Output Redirection and Program Termination

  * 10.5. String Pattern Matching

  * 10.6. Mathematics

  * 10.7. Internet Access

  * 10.8. Dates and Times

  * 10.9. Kompresja Danych

  * 10.10. Performance Measurement

  * 10.11. Kontrola Jakości

  * 10.12. Dostarczone z bateriami

* 11. Brief Tour of the Standard Library --- Part II

  * 11.1. Output Formatting

  * 11.2. Templating

  * 11.3. Working with Binary Data Record Layouts

  * 11.4. Multi-threading

  * 11.5. Logging

  * 11.6. Weak References

  * 11.7. Tools for Working with Lists

  * 11.8. Decimal Floating Point Arithmetic

* 12. Środowiska wirtualne i pakiety

  * 12.1. Wprowadzenie

  * 12.2. Tworzenie Środowisk Wirtualnych

  * 12.3. Managing Packages with pip

* 13. Co dalej?

* 14. Interactive Input Editing and History Substitution

  * 14.1. Tab Completion and History Editing

  * 14.2. Alternatives to the Interactive Interpreter

* 15. Arytmetyka liczb zmiennoprzecinkowych: Problemy i ograniczenia

  * 15.1. Representation Error

* 16. Załącznik

  * 16.1. Tryb interaktywny

    * 16.1.1. Przechwytywanie błędów

    * 16.1.2. Wykonywalne skrypty Pythona

    * 16.1.3. Plik interaktywnego uruchomienia

    * 16.1.4. The Customization Modules
