Podstawy Pythona

Ten artykuł wyjaśnia podstawy Pythona.

YouTube Video

Uruchamianie "Hello World!"

1print("Hello World!")

Zmienne w Pythonie

W Pythonie zmienne to nazwane miejsca przechowywania danych i informacji, które można wykorzystać w programie. Zmienne mogą przechowywać różne typy danych i być przypisywane ponownie w razie potrzeby. Poniżej przedstawiamy kilka przykładów kodów, które demonstrują podstawowe użycie zmiennych w Pythonie.

 1# 1. Assigning values to variables
 2# Integer type variable
 3age = 25
 4print("Age:", age)  # Output: Age: 25
 5
 6# Floating-point type variable
 7height = 175.5
 8print("Height:", height, "cm")  # Output: Height: 175.5 cm
 9
10# String type variable
11name = "Taro"
12print("Name:", name)  # Output: Name: Taro
13
14# Boolean type variable
15is_student = True
16print("Are you a student?", is_student)  # Output: Are you a student? True
17
18# 2. Assigning values to multiple variables simultaneously
19# You can assign multiple variables at once
20x, y, z = 5, 10, 15
21print("x =", x, ", y =", y, ", z =", z)  # Output: x = 5 , y = 10 , z = 15
22
23# 3. Updating the value of a variable
24# The value of a variable can be updated by reassignment
25age = 26
26print("Updated age:", age)  # Output: Updated age: 26
27
28# 4. Updating multiple variables at once
29# Example of swapping values between variables
30a, b = 1, 2
31a, b = b, a
32print("a =", a, ", b =", b)  # Output: a = 2 , b = 1
33
34# 5. Type conversion
35# Type conversion allows operations between different types
36count = "5"  # String "5"
37count = int(count)  # Convert to integer type
38print("Handling count as an integer:", count * 2)  # Output: Handling count as an integer: 10
39
40# Conversion to floating-point number
41pi_approx = "3.14"
42pi_approx = float(pi_approx)
43print("Approximation of pi:", pi_approx)  # Output: Approximation of pi: 3.14

Jak pokazano, zmienne w Pythonie można używać w sposób elastyczny. Zmienne można używać bez określania ich typu i przypisywać ponownie w razie potrzeby. Ponadto, konwersja typu ułatwia przełączanie się między różnymi typami danych.

Typy danych w Pythonie

Python posiada kilka podstawowych typów danych. Poniżej przedstawiamy wyjaśnienia i przykłady kodu dla każdego z nich.

Typ całkowity

Typ całkowity służy do obsługi liczb całkowitych bez punktu dziesiętnego.

1# Example of integer type
2x = 10
3print(x)        # Output: 10
4print(type(x))  # Output: <class 'int'>

Typ zmiennoprzecinkowy

Typ zmiennoprzecinkowy służy do obsługi liczb z punktami dziesiętnymi.

1# Floating Point Number Example
2y = 3.14
3print(y)        # Output: 3.14
4print(type(y))  # Output: float

Typ tekstowy

Typ string reprezentuje ciąg znaków. Ciągi znaków można zamknąć w pojedynczych apostrofach ' lub w cudzysłowie ".

1# Example of String
2s = "Hello, World!"
3print(s)        # Output: Hello, World!
4print(type(s))  # Output: <class 'str'>

Typ logiczny (Boolean)

Typ logiczny ma dwie wartości: prawda (True) i fałsz (False).

1# Example of Boolean
2b = True
3print(b)        # Output: True
4print(type(b))  # Output: <class 'bool'>

Typ listy

Typ listy to zmienna sekwencja, która może przechowywać wiele elementów, a te elementy mogą być różnego typu danych.

1# Example of List
2lst = [1, 2, 3, "four", 5.0]
3print(lst)        # Output: [1, 2, 3, 'four', 5.0]
4print(type(lst))  # Output: <class 'list'>

Typ krotki

Krotka to sekwencja, która może zawierać wiele elementów, ale jej zawartości nie można zmienić po utworzeniu.

1# Example of Tuple
2tup = (1, "two", 3.0)
3print(tup)        # Output: (1, 'two', 3.0)
4print(type(tup))  # Output: <class 'tuple'>

Typ słownika

Typ słownika to kolekcja przechowująca pary klucz-wartość. Klucze muszą być unikalne.

1# Example of Dictionary
2dct = {"one": 1, "two": 2, "three": 3}
3print(dct)        # Output: {'one': 1, 'two': 2, 'three': 3}
4print(type(dct))  # Output: <class 'dict'>

Typ zbioru (Set)

Typ zbioru to kolekcja przechowująca unikalne elementy. Nie można dodawać zduplikowanych wartości.

1# Example of Set
2st = {1, 2, 2, 3}
3print(st)        # Output: {1, 2, 3}
4print(type(st))  # Output: <class 'set'>

Te typy danych są podstawowymi typami powszechnie używanymi do obsługi danych w Pythonie. Poprzez odpowiednie ich użycie można spełnić różne wymagania w swoich programach.

Przegląd Pythona

Python to język programowania wysokiego poziomu opracowany przez Guido van Rossuma w 1991 roku. Filozofia projektowania Pythona kładzie nacisk na 'prostotę,' 'jasność' i 'czytelność,' co skutkuje kodem, który jest intuicyjny, łatwy do napisania i łatwy do odczytania. Poniżej znajduje się przegląd głównych cech Pythona.

  1. Czytelność i Prostota:

    • Dzięki wyraźnej strukturze i wyrażeniom zbliżonym do języka naturalnego, Python jest łatwym językiem do nauki dla początkujących.
    • Bloki definiuje się za pomocą wcięć, co automatycznie formatuje kod i zwiększa jego czytelność.
  2. Bogate Biblioteki i Frameworki:

    • Posiada bogatą bibliotekę standardową, która umożliwia łatwe wykonywanie wielu zadań.
    • Istnieją wyspecjalizowane biblioteki i frameworki dostępne dla różnych dziedzin, takich jak obliczenia numeryczne (NumPy), analiza danych (Pandas), uczenie maszynowe (scikit-learn, TensorFlow) oraz tworzenie aplikacji webowych (Django, Flask).
  3. Wszechstronność:

    • Python nadaje się zarówno jako język skryptowy, jak i do rozwoju aplikacji z pełną funkcjonalnością. Jest używany w różnych dziedzinach, takich jak aplikacje webowe, aplikacje desktopowe, obliczenia naukowe, uczenie maszynowe, analiza danych oraz IoT.
  4. Platforma wielosystemowa:

    • Jest niezależny od platformy i może działać na wielu systemach operacyjnych, w tym Windows, macOS i Linux.
  5. Open Source i Społeczność:

    • Python jest projektem open-source wspieranym przez aktywną społeczność. Dzięki temu udostępniane są częste aktualizacje, rozwój bibliotek oraz wsparcie.
  6. Dynamiczne typowanie i automatyczne zarządzanie pamięcią:

    • Dynamiczne typowanie eliminuje konieczność deklarowania typów zmiennych, co przyspiesza rozwój aplikacji.
    • Zbieranie śmieci realizuje automatyczne zarządzanie pamięcią, co czyni je prostym.

Dzięki tym cechom Python jest szeroko stosowany w różnych dziedzinach, w tym w edukacji, przemyśle i środowisku akademickim.

Znaki ucieczki w Pythonie

W Pythonie znaki ucieczki służą do wprowadzenia specyficznych znaków sterujących lub znaków o specjalnym znaczeniu w ciągach znaków. Znaki ucieczki to specjalne symbole używane do nadawania szczególnego znaczenia zwykłym ciągom znaków. Przyjrzyjmy się bliżej znakom ucieczki w Pythonie.

Podstawy znaków ucieczki

W Pythonie znaki ucieczki są definiowane za pomocą ukośnika odwrotnego (\). Znaki ucieczki wskazują na szczególne zachowanie w zwykłym ciągu znaków. Na przykład \n reprezentuje nową linię, a \t oznacza tabulator.

Możesz zdefiniować ciąg znaków zawierający znaki ucieczki w następujący sposób:.

1# Example of escape characters
2print("Hello\nWorld")  # A newline is inserted after "Hello"
3
4# Output:
5# Hello
6# World

Lista głównych znaków ucieczki

Główne znaki ucieczki używane w Pythonie to:.

  • \\: Oznacza sam ukośnik odwrotny.
  • \': Wprowadza pojedynczy cudzysłów w ciągu znaków.
  • \": Wprowadza podwójny cudzysłów w ciągu znaków.
  • \n: Nowa linia
  • \t: Tabulator
  • \r: Powrót karetki
  • \b: Backspace (cofnięcie znaku)
  • \f: Form feed (przejście na nową stronę)
  • \a: Dźwięk alarmowy (dzwonek)
  • \v: Tabulator pionowy
  • \N{name}: Znak według nazwy w bazie danych Unicode
  • \uXXXX: 16-bitowy znak Unicode (określony za pomocą 4 cyfr szesnastkowych)
  • \UXXXXXXXX: 32-bitowy znak Unicode (określony za pomocą 8 cyfr szesnastkowych)
  • \xXX: Znak określony w systemie szesnastkowym

Przykłady często używanych znaków ucieczki

Oto kilka konkretnych przykładów użycia znaków ucieczki.

Podwójne cudzysłowy i pojedyncze cudzysłowy

Aby dodać podwójne lub pojedyncze cudzysłowy w ciągu znaków, użyj znaków ucieczki.

 1# String containing double quotes
 2quote = "He said, \"Python is amazing!\""
 3print(quote)
 4
 5# String containing single quotes
 6single_quote = 'It\'s a beautiful day!'
 7print(single_quote)
 8
 9# Output:
10# He said, "Python is amazing!"
11# It's a beautiful day!

Nowe linie i tabulatory

Nowe linie i tabulatory są powszechnie używane do formatowania tekstu.

 1# Example using newline
 2multiline_text = "First line\nSecond line"
 3print(multiline_text)
 4
 5# Example using tab
 6tabbed_text = "Column1\tColumn2\tColumn3"
 7print(tabbed_text)
 8
 9# Output:
10# First line
11# Second line
12# Column1	Column2	Column3

Znaki ucieczki Unicode

W Pythonie znaki Unicode są reprezentowane za pomocą \u lub \U. Jest to szczególnie przydatne przy obsłudze znaków nienależących do języka angielskiego.

1# Example of Unicode escape
2japanese_text = "\u3053\u3093\u306B\u3061\u306F"  # Hello in Japanese
3print(japanese_text)
4# Output:
5# こんにちは(Hello in Japanese)

Ostrożność przy korzystaniu z specjalnych znaków ucieczki

Istnieje kilka ostrożności, które należy mieć na uwadze przy używaniu znaków ucieczki.

  1. Ciągi surowe: Jeśli chcesz wyświetlać ciągi zawierające ukośniki tak, jak są, możesz użyć ciągów surowych. Ciągi surowe są określane poprzez dodanie prefiksu r do ciągu znaków.
1raw_string = r"C:\Users\name\Documents"
2print(raw_string)
3# Output:
4# C:\Users\name\Documents

W ciągach surowych ukośnik nie jest interpretowany jako znak ucieczki i jest wyprowadzany tak, jak jest.

  1. Korzystanie z Unicode: Przy używaniu znaków ucieczki Unicode upewnij się, że podane kody szesnastkowe są poprawne. Niepoprawne specyfikacje spowodują nieprawidłowe wyświetlanie znaków.

Ucieczka przed ukośnikami

Aby zawrzeć ukośnik w ciągu znaków, użyj podwójnych ukośników.

1# Example containing backslash
2path = "C:\\Program Files\\Python"
3print(path)
4# Output:
5# C:\Program Files\Python

Zaawansowany przykład: złożone formatowanie ciągów znaków

Możliwe jest również łączenie znaków ucieczki w celu formatowania złożonych ciągów znaków.

 1# Example of formatting a message
 2message = "Dear User,\n\n\tThank you for your inquiry.\n\tWe will get back to you shortly.\n\nBest Regards,\nCustomer Support"
 3print(message)
 4# Output:
 5# Dear User,
 6#
 7#     Thank you for your inquiry.
 8#     We will get back to you shortly.
 9#
10#     Best Regards,
11#     Customer Support

Podsumowanie

Znaki ucieczki w Pythonie są potężnym narzędziem do wstawiania określonych znaków sterujących lub specjalnych w ciągi znaków. Zrozumienie ich użycia i odpowiednie zastosowanie w razie potrzeby umożliwia bardziej elastyczne przetwarzanie ciągów znaków.

Wersje Pythona

Przyjrzyjmy się krótko głównym wydaniom Pythona i ich funkcjom.

  1. Python 1.0 (1994)
1# Simple code that works in Python 1.0
2def greet(name):
3    print "Hello, " + name  # print was a statement
4
5greet("World")

Pierwsze oficjalne wydanie. Podstawowa składnia i biblioteka standardowa Pythona zostały ustalone.

  1. Python 2.0 (2000)
1# List comprehension
2squares = [x * x for x in range(5)]
3print squares
4
5# Unicode string (u"...")
6greet = u"Hello"
7print greet

Dodano ważne funkcje, takie jak list comprehensions, pełne zbieranie śmieci oraz początek wsparcia dla Unicode. Python 2 był używany przez długi czas, ale jego wsparcie zakończyło się w 2020 roku.

  1. Python 3.0 (2008)
1# print is now a function
2print("Hello, world!")
3
4# Unicode text is handled natively
5message = "Hello"
6print(message)

Znacząca aktualizacja bez kompatybilności wstecznej. Funkcja print została zmieniona na funkcję, Unicode stał się domyślnym typem ciągów, a liczby całkowite zostały ujednolicone, znacznie poprawiając spójność i użyteczność Pythona. Seria Python 3.x jest obecnie główną wersją.

  1. Python 3.5 (2015)
1import asyncio
2
3async def say_hello():
4    await asyncio.sleep(1)
5    print("Hello, async world!")
6
7asyncio.run(say_hello())

Wprowadzono składnię async/await, co uprościło pisanie programów asynchronicznych.

  1. Python 3.6 (2016)
1name = "Alice"
2age = 30
3print(f"{name} is {age} years old.")  # f-string makes formatting simple

Dodano sformatowane literały ciągów znaków (f-strings), co uczyniło formatowanie ciągów bardziej wygodnym. Rozszerzono również wskazówki dotyczące typów.

  1. Python 3.7 (2018)
1from dataclasses import dataclass
2
3@dataclass
4class Person:
5    name: str
6    age: int
7
8p = Person("Bob", 25)
9print(p)

Wprowadzono dataclasses, co ułatwiło definiowanie klas podobnych do struktur. Wsparcie dla async/await zostało również udoskonalone.

  1. Python 3.8 (2019)
1# Assignment inside an expression
2if (n := len("hello")) > 3:
3    print(f"Length is {n}")

Dodano operator morsa (:=), umożliwiając użycie wyrażeń przypisania. Wprowadzono również parametry pozycyjne, co zwiększyło elastyczność argumentów funkcji.

  1. Python 3.9 (2020)
1a = {"x": 1}
2b = {"y": 2}
3c = a | b  # merge two dicts
4print(c)   # {'x': 1, 'y': 2}

Wprowadzono ulepszenia wskazówek dotyczących typów oraz dodano operator scalania (|) dla list i słowników. Biblioteka standardowa została również zreorganizowana.

  1. Python 3.10 (2021)
 1def handle(value):
 2    match value:
 3        case 1:
 4            return "One"
 5        case 2:
 6            return "Two"
 7        case _:
 8            return "Other"
 9
10print(handle(2))

Dodano dopasowywanie wzorców, umożliwiając bardziej zaawansowane instrukcje warunkowe. Udoskonalono komunikaty o błędach, a system typów został dodatkowo wzmocniony.

  1. Python 3.11 (2022)
1# Improved performance (up to 25% faster in general)
2# More informative error messages
3try:
4    eval("1/0")
5except ZeroDivisionError as e:
6    print(f"Caught an error: {e}")
Wprowadzono **znaczące poprawki wydajności**, co skutkuje szybszym wykonaniem w porównaniu z wcześniejszymi wersjami. Dodatkowo udoskonalono obsługę wyjątków oraz sprawdzanie typów.
  1. Python 3.12 (2023)
 1# Automatically shows exception chains with detailed traceback
 2def f():
 3    raise ValueError("Something went wrong")
 4
 5def g():
 6    try:
 7        f()
 8    except Exception:
 9        raise RuntimeError("Higher level error")  # Automatically chained
10
11try:
12    g()
13except Exception as e:
14    import traceback
15    traceback.print_exception(type(e), e, e.__traceback__)
Komunikaty o błędach zostały dodatkowo udoskonalone, a wydajność została zwiększona. Dodatkowo automatycznie wyświetlana jest kaskada wyjątków, umożliwiając bardziej szczegółowe debugowanie. Dodano również nowe funkcje składni i ulepszenia w bibliotece standardowej, zwiększając produktywność programistów.

Seria Python 3.x nadal się rozwija, a najnowsze wersje poprawiają wydajność, system typów i dodają nowe funkcje.

Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.

YouTube Video