Python zajęcia 1 i 2

Python - ogólnie

Język Python jest najpopularniejszym obecnie językiem programowania. Ma prosty przejrzysty kod źródłowy, otwarte żródła, łatwe możliwości rozszerzania bibliotek. Jest językiem interpretowalnym - wolnym.

Służy on do tworzenia:
- różnego rodzaju oprogramowania,
-stron internetowych,
-analizy danych,
-uczenia maszynowego,
-automatyzacji zadań
-wykorzystywany jest również do badań naukowych
-zarządzanie infrastrukturą,
-indeksowanie danych
-tworzenie usług/ mikroserwerów
-jest "klejem" dla innych aplikacji
-testowanie usług
-webscraping

Jest powszechnie używany przez wiele firm, w tym Netflixa, Mete, Googla, Facebooka, Dropboxa, Instagrama- każda z tych firm wykorzystuje jednak to samo narzędzie na różne sposoby i w różnych celach.

Python nie sprawdza się/ nie nadaje się raczej przy:
- tworzeniu bardziej skomplikowanych gier (ma ograniczone możliwości, ale istnieją odpowiednie biblioteki pozwalające na tworzenie gier)
-aplikacje systemowe
-aplikacje mobilne
-frontend

Składnia i budowa Pythona

Składnia Pythona to zbiór reguł, które instruują w jaki sposób pisać kod poprawnie - tak by był zrozumiały i wykonywalny dla interpretatorów - ale także innych programistów.

Podstawowe elementy Pythona to:
-Instrukcje i wyrażenia - kod Pythona składa sie z instrukcji, które wykonują określone operacje, oraz wyrażeń, które obliczają wartości
- zmienne- służą do przechowywania danych (nie trzeba deklarować zmiennej, python sam to wykryje)
-operatory- używane do wykonania operacji na danych(arytmetyczne +-; porównania (==; !=)i logiczne (and/or/not))
-Instrukcje warunkowe- Pozwalają na wykonanie różnych fragmentów kodu w zależności od określonych warunków (if, elif,else)
-pętle- powtarzają w pętli różne operacje (for i while)
-funkcje- bloki kodu, które się wywołuje (def)
-wcięcia- OBOWIĄZKOWE BEZ NICH NIC NIE DZIAŁA- oddzielają bloki kodu- zazwyczaj to 4 x spacja albo TAB- nie mieszamy spacji i Tab
-komentarze- tekst, który jest ignorowany przez interpretatory oznaczamy #
-Typy danych- Python obsługuje różne typy danych - ale sam je rozpoznaje, co jest bardzo miłe z jego strony- liczby całkowite (int); zmienno przecinkowe (float), ciągi znaków (str nazywane stringami), listy, słowniki, krotki

Język Python, można porównać do zdań w języku naturalnym.

czasownik -> opis czynności->funkcje/
rzeczownik
-> nazywanie rzeczy -> obiekt/zmienna
przymiotnik
-> określanie cechy -> wartość atrybutu

ZMIENNA

Zmienna to nazwane miejsce w pamięci, które przechowuje wartość. Używamy zmiennych aby odwoływać się do danych w naszym programie aby unikać konieczności wielokrotnego wpisywania tych samych wartości.
Zmienna jak wskazuje nazwa może zmieniać wartość.

Deklaracja zmiennej
Zmienne zapisujemy małą literą. Jeśli jest kilka słów oddzielamy _. Nie używamy polskich znaków. Możemy używać wielkich i małych liter, cyfr, podkreślnikków ale nie mogą zaczynać się od cyfr. Wielkosć liter ma znaczenie - Wiek i wiek to dwie różne zmienne. Zaleca się używanie nazw opisujących zawartość zmiennej. Unikamy jednoliterowych zmiennych takich jak np: a=1
Zmienna jest jak etykieta na słoiku.
Aby utworzyć zmienną wystarczy podać jej nazwę i przypisać wartość za pomocą znaku =
zmienna wpisana w " " będzie traktowana jako tekst
Zmienne mogą być lokalne (w obrębie funkcji) i globalne (dostępne w całym programie)

moj_zwierzak="pies"

#zmienna w cudzysłowie to zawsze tekst czyli tzw. str

Zmienna powstaje w momencie przypisania jej wartości. Powinniśmy traktować nazwy zmiennych jako swego rodzaju etykiety na pudełkach czy słoikach, które od razu sugerują nam zawartość - w skrzynce na narzędzia nie spodziewamy się przecież znaleźć skarpetek, a w słoiku z napisem sól nie szukamy śrubek.

Wbudowane funkcje

Print -wypisywanie na ekranie
print- wyświetla na ekranie
print(5*"hej") ->zmienna wydrukuje się 5 razy

print("Witaj")
#wyświetla na ekranie "Witaj"

print(5*"hej marynarzu")
# wyświetli nam na ekranie hej marynarzu 5 razy

print(10)
# wyświetli nam liczbę 10

print("\n")
print ()
#dodaje nową linie

moj_zwierzak="pies"
print(moje_zwierze)

input- wpisywanie

input to wbudowana funkcja do pobierania danych wejściowych od użytkownika, które ten wprowadza za pomocą klawiatury. Funkcja ta zatrzymuje działanie programu i czeka aż użytkownik coś wpisze. Przy "inpucie" można wprowadzić zachęcający komunikat, który instruuje w prosty sposób użytkownika
Dane w "inpucie" zawsze traktowane są jako string niezależnie od tego czy wprowadzone zostanie słowo czy liczba. Zazwyczaj wynik funkcji input przypisujemy do zmiennej aby później móc go użyć w programie.

input("podaj swoje imię")

Konwersja typów

Jeśli potrzeba użyć wprowadzonej przez użytkownika wartości nie jako stringa ale jako np. liczby po to by jej użyć np do kalkulatora BMI, musimy ją jawnie przekonwertować na odpowiedni typ. brzmi strasznie ale chodzi o wstawienie odppwoednieo typu int() dla liczby całkowitej i float () dla liczby dziesiętnej

km=float(input"Wprowadź odległość)

IMMUTABLE- obiekt nie modyfikowalny -> oryginalny obiekt bez zmian
MUTABLE - nie zostanie wykonana dodatkowa kopia-> zmieni się jego zawartość jeśli druga zmienna wskazują jeden obiekt

Ważne na starcie!

-Tab zatwierdzamy blok
-Jeśli w VSCode "miga" nam biała kropka w zakładce nad plikiem nad, którym pracujemy oznacza, że nie jest on zapisany a więc nie uda nam się nam go poprawnie uruchomić
-zapisujemy pliki bez nazw związanych z bibliteką, jakąś funkcją, uważamy ze znakami spejalnymi
-jako rozszerzenie na końcu dajemy .py - co oznacza python

CTRL / zaznaczyć kawałek kodu -> zakomentować kawałek

Typy danych

Python jest językiem dynamicznym i sam rozpoznaje typ zmiennej.
-liczby całkowite (int):10,0,-5
-liczby zmiennoprzecinkowe (float) np 3.14; 0.0; -2,7 (UŁAMEK ZAWSZE Z .)
-napisy (str) np. "Python"; "Hello"; "123"
-wartość logiczne (bool): True lub False

ZNAKI DZIAŁANIA

dodawanie + liczby/znaki
odejmowanie - tylko liczby ułamkowe z .
mnożenie * liczby i znaki
potęgowanie **
dzielenie / liczby
dzielenie bez ułamków // liczby
!modulo % liczby (reszta z dzielenia) parzyste

Kalkulator do przeliczania odległości

#kalkulator przeliczający mile na kilometry

km=float(input("wprowadź odległość w km: "))

PRZELICZNIK=0.621371

mile = km * PRZELICZNIK 

print(f"{km} km to {mile:0.2f} w milach.")

liczba =1
print(f"{liczba} i tekst")

#odpowiedzi wpisujemy w terminalu

Dla Pythona nazwy nie mają żadnego znaczenia- to my nadajemy sens konkretnym słowom

Kalkulator BMI uproszczony

BMI= masa ciała / wzrost^2 w metrach


wzrost = float(input("Wpisz wzrost (w metrach): "))
waga = float(input("Wpisz ile ważysz(w kg): "))
indeks_bmi= waga / (wzrost*wzrost)


print(f"Twoj indeks BMI to: {indeks_bmi}")


 Dopisać co który kod oznacza

# Normy dla osób dorosłych
# - **<16,0** – wygłodzenie;
# - **16,0-16,9** – wychudzenie
# - **17,0-18,4** – niedowaga;
# - **18,5-24,9** – waga prawidłowa;
# - **25,0-29,9** – nadwaga;
# - **30,0-34,9** – I stopień otyłości
# - **35,0-39,9** – II stopień otyłości;
# - **40,0** – III stopień otyłości.

round- zaokrąglenie

f-string- obecny od wersji 3.6 Pythona, wstawia się go za pomocą prefiksa "f" przed otwarciem cudzysłowia. sprawia, że kod jest bardziej czytelny i łatwiejszy w obsłudze. wstawiamy f lub F przed rozpoczęciem łańcucha znaków. W nawiasach klamrowych możemy wstawić dowolne wyrażenie, które zostanie oblicczone a także wstawione w miejsce nawiasów.

Rzut kostką

from random import randint

ilosc_scianek = int(input("Wprowadź liczbę całkowitą informującą o ilości ścianek kostki: "))
wyniki= []

print(f"Iloma kostkami o {ilosc_scianek} sciankach mam rzucić?")
ilosc_rzutow = int(input("Wprowadz liczbę kostek: "))

for rzut in range(ilosc_rzutow):
    wynik_rzutu = randint(1, ilosc_scianek)
    wyniki.append(wynik_rzutu)

print(f"Uzyskano: {wyniki}")

Polecane przez prowadzącego do sprawdzenia i poznania:

-stack overflow
-ranking Tiobe
-obsydian
- github
-gitlab
-Humble Bundles
-CS50 kurs Harvard https://pll.harvard.edu/course/cs50-introduction-computer-science
-Python Institute - pytania/ zagadnienia Python egzaminy - https://pythoninstitute.org
100 days of code
mino.org

Polecane typy notatników online:
Joplin
Notion
Obsydian

#zmienne
#struktura python
#zajęcia 1
# Python składnia
# kalkulator BMI