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.
-
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ść.
-
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).
-
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.
-
Platforma wielosystemowa:
- Jest niezależny od platformy i może działać na wielu systemach operacyjnych, w tym Windows, macOS i Linux.
-
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.
-
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.
- 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.
- 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.
- 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.
- 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.
- 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ą.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.