# 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. Parametry specjalne
      - 4.7.3.1. Argumenty pozycyjne-lub-kluczowe
      - 4.7.3.2. Parametry Tylko-Pozycyjne
      - 4.7.3.3. Argumenty 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
    - 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. 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