Python - Podstawy:
Instalacja Pythona:
W celu uruchamiania plików Pythona (rozszerzenie .py) należy najpierw zainstalować odpowiedni interpreter.Można go pobrać ze strony python.org
Typy danych:
Python automatycznie wykrywa i przypisuje typ danych zmiennej, nie musimy (choć możemy) używać specjalnego polecenia, aby określić typ danych.podstawowe typy danych w Pythonie:
- string - tekst np. "abcd"
- integer - liczba całkowita np. 2
- float - liczba niecałkowita np. 2.5
- list - lista np. ["adam", 5, "marek", 13]
- tuple - niezmienna lista np. ("adam", 5, "marek", 13)
- bool - prawda lub fałsz np. True
type()
przykład zastosowania:x = 5.5
print(type(x))
powyższy kod zwróci typ float. Możliwa jest konwersja danych jednego typu na inny.
W tym celu należy użyć odpowiedniej funkcji np.
str(5) lub float("2.5")
Zmienne:
W odróżnieniu od większości języków programowania Python nie ma komendy służącej do deklarowania zmiennych.Zmienną tworzymy według tego schematu:
nazwa_zmiennej = wartość_zmiennej
na przykład: x = 5Zasady nazywania zmiennych:
- Nazwa zmiennej może zawierać tylko znaki alfanumeryczne i znaki podkreślenia (A-z, 0-9 i _)
- Nazwa zmiennej musi zaczynać się od litery lub znaku podkreślenia (nie może zaczynać się od cyfry)
- W nazwach zmiennych rozróżniana jest wielkość liter (owca, Owca i OWCA to trzy różne zmienne)
x = 5 Teraz jest to zmienna typu integer. x = "Kuba" A teraz typu string. Print:
polecenieprint() służy do wyświetlania danych w konsoli. Przykład zastosowania:
print("Witam")
Import
polecenieimport służy do importowania modułów i innych plików do naszego projektu. Używając
import pygame importujemy bibliotekę pygame dostępną online, jest wiele podobnych bibliotek które ułatwiają życie i znacznie poszerzają możliwości Pythona.
Tym samym sposobem możemy importować zmienne, funkcje, klasy itd. z innych naszych plików.
Załóżmy, że w tym samym folderze co nasz program znajduje się inny plik o nazwie "UserMethods"
Aby zaimportować wszystkie obiekty z tego pliku używamy
import UserMethods pisanie rozszerzenia pliku nie jest potrzebne Jednak jeśli jesteśmy zainteresowani jedynie niektórymi obiektami z tego pliku, załóżmy że zmienną o nazwie "FirstNames" użyjemy poniższego kodu:
from UserMethods import FirstNames najpierw podajemy plik z którego importujemy a potem co importujemy. Tak samo możemy postąpić z zewnętrznymi bibliotekami np.
from pygame import display Warto wspomnieć o możliwości użycia innej nazwy biblioteki niż oryginalna.
Polecenie
import pygame as pg zaimportuje bibliotekę pygame jako "pg" Dzięki czemu aby użyć metody display zamiast
pygame.display wystarczy napisać pg.display
Sprawdzanie błędów
Błędy są nieuniknione, zwłaszcza przy wszystkim co obsługuje inny użytkownik.Aby odpowiednio reagować na błędy, na przykład poprzez wyświetlenie odpowiedniego komunikatu błędu,
należy użyć poleceń
try i except. Taki program wykona kod zawarty w bloku
try, a w razie wystąpienia błędu wykona kod zawarty w bloku except. Możemy użyk osobnych bloków
except dla różnych typów błędów, w tym celu po poleceniu
except piszemy nazwę błędu przy którym ma zostać wykonany ten blok. Jeżeli po poleceniu
except nie będzie nazwy błędu, blok kodu wykona się przy każdym błędzie. Przykład zastosowania:
try:
print(a)
except NameError:
print("zmienna a nie istnieje")
except:
print("nieznany błąd")
Warunki:
if:
Warunek jeśli stosujemy przy pomocy poleceniaif na przykład: if 2 > 1:
print("2 jest większe od 1")
należy pamiętać od wcięciach w kodzie, ten przykład nie zadziała: if 2 > 1:
print("2 jest większe od 1")
W tym przykładzie print wykona się niezależnie od warunku if, wiele języków programowania używa nawiasów klamrowych, jednak python używa wcięć. else:
Polecenieelse oznacza "wykonaj, jeśli poprzedni warunek nie jest prawdziwy" Przykład zastosowania:
if x > y:
print("x jest większe od y")
else:
print("x nie jest większe od y")
elif:
Polecenieelif oznacza "wykonaj, jeśli poprzedni warunek nie jest prawdziwy, a ten jest:" Przykład zastosowania:
if x > y:
print("x jest większe od y")
elif x == y
print("x jest równe y")
elif x < y:
print("x jest mniejsze od y")
and i or
Poleceniaand i or oznaczają "i" i "lub" and oznacza że obydwa warunki muszą być prawdziwe, a or że przynajmniej jeden warunek musi być prawdziwy. krótkie if:
Jeżeli poif chcesz wykonać tylko jedno polecenie możesz umieścić je w tej samej lini co if Przykład zastosowania:
if x > y: print("x jest większe od y")
Krótkie if z else
Do krótkiegoif możemy dodać else przykład zastosowania:
print("x jest większe od y") if x > y else print("x nie jest większe od y")
Polecenie pass
poleceniaif, pętle for i funkcje nie mogą być puste, jeżeli nie chcesz aby wykonywało kod, w celu uniknięcia błędu użyj polecenia
pass przykład zastosowania:
if x > y: pass
polecenia pass można używać także w funkcjach i pętlach.
Funkcje:
Funkcja jest to blok kodu który jest wykonywany tylko kiedy zostanie wywołany.Funkcje podczas wywoływania przyjmują argumenty których wartości później używają.
Funkcja może zwracać dane po wykonaniu.
Definiowanie funkcji:
Funkcje definiujemy w następujący sposób:def NazwaFunkcji(argument1,argument2):
Wywoływanie funkcji:
Funkcje wywołujemy w następujący sposób:NazwaFunkcji(WartośćArgumentu1,WartośćArgumentu2)
Wywołując funkcje musimy podać wartości dla wszystkich argumentów funkcji.Wartości argumentów są przypisywane do argumentów po kolei, zgodnie z kolejnością ich definiowania.
Czyli pierwsza wartość którą podamy zostanie przypisana do pierwszego argumentu który zdefiniujemy, druga do drugiego itd.
Jeżeli chcemy podać wartości argumentów w innej kolejności musimy ręcznie określić do jakiego argumentu podajemy wartość.
Robimy to w następujący sposób:
NazwaFunkcji(argument2 = WartośćArgumentu2, argument1 = WartośćArgumentu1)
Domyślna wartość argumentu funkcji:
Przy deklarowaniu funkcji możemy podać domyślną wartość argumentów.W tym jednym wypadku możemy wywołać funkcje bez podawania wartości wszystkich argumentów.
Jeżeli nie podamy wartości argumentu funckja użyje domyślnej wartości.
Tworzenie funkcji z domyślnym argumentem:
def NazwaFunkcji(argument1 = WartośćArgumentu1)
teraz możemy uruchomić funkcje bez podawania wartości argumentu, jeśli jednak ją podamy zostanie ona użyta zamiast domyślnej. Funkcja zwracająca dane:
Funkcja może zwracać dane, w tym celu należy użyć poleceniareturn Przykład zastosowania:
def NazwaFunkcji(argument1):
return argument1 + 1
należy pamiętać o tym że polecenie return kończy wykonywanie się funkcji. Więc kod który znajduje się za poleceniem
return nie zostanie wykonany. Pętle:
Python ma dwa rodzaje pętli, są to pętlewhile i forwhile:
Pętlawhile wykonuje kod dopóki warunek jest prawdziwy. Na poniższym przykładzie polecenie
print będzie wykonywanie dopóki wartość zmiennej liczba będzie mniejsza od 5. z każdym wykonaniem pętla będzie zwiększać wartość zmiennej liczba o 1, dzięki temu pętla nie będzie wykonywać się w nieskończoność.
liczba = 1
while liczba < 5:
print(liczba)
liczba += 1
for:
pętlafor wykonuje się dla każdego elementu obiektu. przykład zastosowania:
ludzie = ["adam","piotr","zuza"]
for x in ludzie:
print(x)
Powyższy kod zwróci każdy element listy ludzie osobno. x może mieć dowolną inną nazwę, jest zmienną której wartością jest element dla którego pętla się aktualnie wykonuje. Jeżeli zamiast listy użyjemy napisu (string) pętla wykona się dla każdej litery osobno.
range:
Zamiast listy bądź napisu w pętlifor możemy podać funkcje range() Przykład zastosowania:
for x in range(5):
print("dzień dobry")
Powyższa pętla wykona się 5 razy, od 0 do 4.
else:
else można używać zwhile na tej samej zasadzie co z Polecenie
else oznacza wykona jeśli warunek jest fałszywy. W przypadku pętli
for polecenie else wykona się po zakończeniu pętli. Przykład zastosowania:
liczba = 1
while liczba < 5:
print(liczba)
liczba += 1
else:
print("liczba nie jest mniejsza od 5")
break:
Poleceniebreak zatrzymuje wykonywanie się pętli. Kod umieszczony po tym poleceniu nie zostanie wykonany.
Obsługa plików:
wczytywanie plików:
Aby wczytać plik znajdujący się w tym samym folderze co program zależy użyć funkcjiopen() Przykład zastosowania:
plik = open("nazwapliku.txt") odczyt plików:
Aby odczytać zawartość całego pliku należy użyć metodyread() Przykład zastosowania: (po wczytaniu pliku jako "plik")
print(plik.read()) Odczytać fragment pliku możemy na 2 sposoby:
Aby odczytać określoną ilość znaków z pliku jako argument metody
read() należy podać ilość znaków które chcemy odczytać. Aby odczytać pierwszy wiersz należy użyć metody
readline() Powyższe polecenie odczyta jeden wiersz pliku,
jeżeli chcemy odczytać więcej wierszy należy je wykonać tyle razy ile wierszy chcemy odczytać (można do tego użyć pętli for)
zapis do pliku:
Aby otworzyć istniejący plik z możliwością zapisu dodajemy drugi parametr to funkcjiopen() "a" - append: Daje do końca pliku. "w" - write: Nadpisuje zawartość pliku. Przykładowo polecenie
open("plik.txt","w") otworzy plik "plik.txt" i podczas zapisu nadpisze jego zawartość. Jeżeli plik nie istnieje zostanie on automatycznie utworzony.
Aby zapisać dane do pliku używamy metody
write() jako argument metody podajemy to co chcemy zapisać. zamknięcie pliku:
Kiedy skończymy operacje na pliku należy go zamknąć.Do tego celu służy metoda
close(), metoda ta nie przyjmuje argumentów. Przykładowy program:
Oto przykładowy program w Pythonie który otworzy istniejący plik "dane.txt",doda wszystkie występujące w nim liczby (1 na linie), nawet liczby niecałkowite (typ float).
Po czym zapisze wynik dodawania do pliku "wynik.txt" (jeżeli plik nie istnieje to zostanie on utworzony)
try:
dane = open("dane.txt")
wynik = open("wynik.txt","w")
obliczenia = 0.0
for x in dane:
obliczenia += float(x)
wynik.write(str(obliczenia))
dane.close()
wynik.close()
except ValueError:
wynik = open("wynik.txt","w")
wynik.write("Wystąpił błąd! Jedna z wartości z pliku dane.txt nie jest liczbą.")
except FileNotFoundError:
wynik = open("wynik.txt","w")
wynik.write("Wystąpił błąd! Plik dane.txt nie istnieje. Sprawdź czy znajduje się on w tej samej lokalizacji co program.")
except:
wynik = open("wynik.txt","w")
wynik.write("Wystąpił nieznany błąd.")
Dwa najprawdopodobniejsze scenariusze błędu to: 1: Plik dane.txt nie istnieje
2: Dane wprowadzone do pliku dane.txt przez użytkownika nie są liczbą.
Powyższe błędy są bardzo prawdopodobne przy nieprawidłowym użyciu,
więc aby ułatwić użytkownikowi znalezienie błędu program nasłuchuje tych błędów i wyświetla odpowiednie komunikaty.
Jeżeli użytkownik okaże się szczególnie kreatywny w tworzeniu błędów i zdoła wywołać nieprzewidziany błąd, program wyświetli bardziej ogólny komunikat.