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
Rozszerzony i wbudowany interpreter Python i Python/C API Reference
Manual. Jest również kilka książek omawiających wyczerpująco Pythona.

Ten tutorial nie próbuje być wszechstronny i umówić każdą pojedynczą
cechę, lub nawet każdą często używaną cechę. Zamiast tego wprowadza
wiele funkcji Pythona 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ć Słowik.

* 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. Arbitralne listy argumentów

    * 4.7.4. Rozpakowywanie listy argumentów

    * 4.7.5. Wyrażenia Lambda

    * 4.7.6. Napisy dokumentujące

    * 4.7.7. 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. List comprehensions

    * 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. Wykonywanie modułów jako skryptów

    * 6.1.2. Ścieżka wyszukiwania modułów

    * 6.1.3. „Skompilowane” pliki Pythona

  * 6.2. Moduły standardowe

  * 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. Wejście i wyjście

  * 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. Sytuacje Wyjątkowe

  * 8.3. Obsługa wyjątków

  * 8.4. Rzucanie wyjątków

  * 8.5. Wyjątki zdefiniowane przez użytkownika

  * 8.6. Defining Clean-up Actions

  * 8.7. 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
