Python - zajęcia 1 i 2

Python - zajęcia 1 i 2
Photo by RoonZ nl / Unsplash

1) Wymagania formalne i organizacyjne

2) Jak radzić sobie z notatkami w Ghost?

Jeśli chcemy blok kodu w notatkach to używamy ‘’’

Więcej szczegółów będzie tutaj: https://commonmark.org/help/

Markdown to prosty język znaczników, który umożliwia szybkie formatowanie tekstu. Oto przegląd przykładów przedstawionych na obrazku:

Type ... to Get
*Italic* or _Italic_ Italic
**Bold** or __Bold__ Bold
# Heading 1 Heading 1
## Heading 2 Heading 2
[Link](http://a.com) Link
![Image](http://url/a.png) Image

3) Kto używa Pythona i do czego?

Przykłady użycia Przykłady użycia
analiza danych profilowanie, marketing
statystyka AI
automatyzacje aplikacje serwerowe
hurtowe wysyłanie danych przechowywanie danych
zbieranie danych synchronizacja
skrypty, rozszerzenia

4)       Do czego uzywac Pythona:

Python będzie dobry do: Python będzie ok do: Python jest raczej niewskazany do:
- uczenia maszynowego / AI - aplikacji na komputery stacjonarne - aplikacji systemowych
- inżynierii i analizy danych - programowania mikrokontrolerów - aplikacji mobilnych
- backendu aplikacji internetowych - przy niektórych aplikacjach mobilnych - gier
- automatyzacji (skrypty, DevOps) - frontend-u
- web scraping-u

5) ESP32 – kontroler z wbudowanym Wi-Fi. Umożliwia tworzenie projektów z użyciem Pythona, budowanie urządzeń oraz rozbudowywanie istniejących rozwiązań.

6) Streamlit – biblioteka do tworzenia aplikacji webowych, która ułatwia tworzenie frontendu bezpośrednio w Pythonie.

7) Stack Overflow – platforma, na której można zadawać pytania dotyczące programowania i uzyskiwać pomoc od społeczności.

8) Jakimi środkami się komunikujemy?

jęz. "naturalny" cel jęz. programowania
- czasownik - opisanie czynności - funkcja / metoda
- rzeczownik - nazwanie rzeczy - obiekt / zmienna
- przymiotnik - określenie cechy - wartość atrybutu

9) Jak moglibyśmy pogrupować rzeczy przydatne w programowaniu?

  • x = 10 - liczby całkowite (integer)
  • pi = 3.14 - zmienna zmiennoprzecinkowa, z ułamkiem dziesiętnym (float)
  • czy_prawda = True - wartości logiczne True/False (boolean)
  • nazwa = "Ala" - zmienna tekstowa (string)

10) Rodzaje "pojemników":

  • lista
  • krotka
  • słownik
  • set

11) Pętla - for lub while

Jeśli mamy zmienną składającą się, z kilku wartości i chcemy wyświetlić je po kolei możemy wpisywać print wiele razy. Ale możemy też użyć pętli for.

zwierzaki = ["pies", "kot", "papuga", "chomik", "królik", "kanarek"]
for element in zwierzaki:
    print(element)

Dzięki pętli for możemy wyświetlić każdy element listy po kolei, co jest wygodne, zwłaszcza przy większych zbiorach danych. W przykładzie na obrazku mamy listę zwierząt:

pies
kot
papuga
chomik
królik
kanarek

Zajęcia 2

1) Zmienna – konstrukcja programistyczna posiadająca trzy podstawowe atrybuty: symboliczną nazwę, miejsce przechowywania i wartość. Etykieta służąca do oznaczania miejsca gdzie przechowywane są wartości, żebyśmy mogli jednoznacznie je odnaleźć/wskazać.

2) Zasady tworzenia nazw zmiennych - znajdziemy w dokumencie PEP 8:

  • nie używamy polskich znaków
  • nie używamy spacji, znaków specjalnych (!, @ itd.)
  • nie używamy samych cyfr
  • nie zaczynamy od cyfr, ale może ona zawierać cyfry
  • nie używamy dużych liter
  • rozdzielamy wyrazy podłogą ("_")

Po zmiennej stawiamy znak równości (można oddzielić go spacjami dla większej czytelności kodu), po czym następuje przypisana do etykiety wartość. Wartość zapisujemy w okalone odpowiednim znakiem w zależności od tego jaka to zmienna:

  • "Ala" - zapisana w cudzysłowie jeśli to wyraz/string
  • [1, 2, 3] - zapisana w nawiasie kwadratowym gdy ciąg liczb
moja_zmienna = 1
print(moja_zmienna)
moj_zwierzak = "kot"
mojzwierzak = "kot"
moj_zwierzak69 = "kot"

3) Visual Studio Code

  • Jeśli zapiszecie plik z odpowiednim rozszerzeniem (np. do Pythona z rozszerzeniem .py)
  • Można też ustawić rozpoznawanie języka na (w naszym wypadku) Pythona, to edytor będzie w stanie Nam podpowiadać
  • Żeby przełączać się między propozycjami używamy strzałek góra / dół. Wybieramy interesującą nas pozycję klawiszem Tab.
  • Możemy używać Tab do wcięć lub 3 spacje
  • Gdy zaczniemy coś wpisywać i VSCode znajdzie jakąś podobną nazwę (np. funkcji) to wyświetli „dymek” podpowiedzi

4) Dane typu zmiennego

Są one niemodyfikowalne w Pythonie. Różnice te są istotne, ponieważ wpływają na sposób, w jaki możemy manipulować danymi w programie.

Możemy używać referencji, żeby uzyskać wartość zmiennej.

bohater1 = "pies"
bohater2 = bohater1

Musimy pamiętać jednak, że referencje działają trochę inaczej dla danych typu zmiennego, które są niemodyfikowalne.

bohater1 = "Nemo"
bohater2 = "Indiana Jones"
bohater3 = "Luke Skywalker"
bohater4 = "Batman"
bohater_fantastyka = bohater3
bohater3 = "Aragorn"
print(bohater_fantastyka)

Zrobiliśmy referencje o nazwie bohater_fantastyka do zmiennej bohater3, której wartość to było na ten moment Luke Skywalker. Następnie chcemy zmienić wartość przypisaną do bohater3 na Aragorn. Ale ponieważ jest to zmienna niemodyfikowalna to podczas przypisania bohater_fantastyka "skopiowała" wartość i przechowuje ją niezależnie od dalszych zmian. Czyli będzie wyświetlana ostatnia wartość, jaką przypisano do nazwy:

Luke Skywalker

Należy pamiętać, że Python czyta polecenia od góry do dołu, od lewej do prawej.

5) Input - prosi użytkownika o podanie danych

Input () traktuje jak ciąg znaków. Żeby to zobaczyć/sprawdzić używamy funkcji Type () .

liczba = input ("Wprowadź liczbę całkowitą z zakresu 1-100" 
print(liczba)
print(type(liczba))

Co wyświetli program gdy użytkownik poda 5 jako odpowiedź:

Wprowadź liczbę całkowitą z zakresu 1-100 : 5
5
<class 'str'>

Jak to zmienić? Użyj int().

liczba = input ("Wprowadź liczbę całkowitą z zakresu 1-100" 
liczba = int(liczba)

5) Komentowanie wierszy

Jeśli chcemy dodać w programie komentarz, którego pyton nie będzie widział jako kod należy na początku wersu dać hasztag #. Żeby dezaktywować większą ilość wierszy w ten sposób należy zaznaczyć wersy i nacisnąć CTRL i /.

6) Zadanie

# stwórz zmienną o nazwie moje_zwierze przechowująca obiekt tekstowy kot
moje_zwierze = "kot"
print (moje_zwierze)
# stwórz zmienną o nazwie jakas_liczba przechowująca liczbę całkowitą 123
jakas_liczba = (123)
print (jakas_liczba)
# stwórz zmienną o nazwie ulamek przechowująca 1.25
ulamek = (1.25)
print (ulamek)
# stwórz zmienną o nazwie imie umożliwiająca użytkownikowi wpisanie imienia
imie = input("Wpisz imie")
print(imie)

# mając stworzoną zmienną imie z ćwiczenia 1
# wyświetl komunikat witający użytkownika np. "Witaj, Przemek"

# popraw poniższy kod tak żeby uzyskać 
# poprawny wynik dodawania liczbowego - czyli 5
imie = input("Wpisz imie")
print("Witaj", imie)

7) Konwersja

Jeżeli tworząc zmienną zapiszemy liczbę w cudzysłowie, zostanie potraktowana jako wyraz. Podobnie potraktowane zostaną cyfry wpisane po Input () - Python traktuje je jak ciąg znaków. Żeby to zobaczyć/sprawdzić używamy funkcji Type ().

Jeżeli chcemy to zmienić możemy użyć konwersji na odpowiedni typ, którego potrzebujemy.

liczba = input("Podaj liczbę: ")
liczba_przekonwertowana = float(liczba)
print(liczba_przekonwertowana + 2)

Jeżeli pominiemy konwersję, pokaże nam się błąd, ponieważ nie dodaje się liczb i wyrazów (więcej o tym w sekcji operacje).

8) Podstawowe operatory:

  • dodawanie + (liczby, znaki)
  • odejmowanie - (liczby)
  • mnożenie * (liczby, znaki)
  • dzielenie / (liczby)
  • modulo % (liczby) - wyświetla resztę z dzielenia

a) Przykłady dodawania

print(1+1)
print("1" + "1")
print("Mój" + "kot")
print("Mój" + " " + "kot")

Wyniki:
2
11
Mójkot
Mój kot

b) Przykłady odejmowania

print(3-1)

Wyniki:
2

c) Przykłady mnożenia

print(1*3)
print("hola!"*2)

Wyniki:
3
hola!hola!

d) Przykłady dzielenia

print(12/3)

Wyniki:
4

Można dzielić bez części ułamkowej, wyświetli tylko pełna cyfrę czyli jak wynik to 2.5 to wyświetli tylko 2. Żeby to zrobić dajemy // dwa znaki dzielenia

e) Przykłady modulo - reszta z dzielenia.

print(11/2)

Wyniki:
1

W ten sposób można najszybciej określić czy liczba jest parzysta (gdy wynik dzielenia przez 2 to 0).

print(12/2)

Wyniki:
0

9) Stwórz kalkulator BMI

wzrost = float(input("Podaj swój wzrost w metrach: "))
waga = float(input("Podaj swoją wagę w kilogramach: "))
bmi = waga / wzrost ** 2
print(f"Twoje BMI wynosi: {bmi:.2f}")

Podpowiedź: Jeśli chcesz w tekst wpisać wartość zmiennej dodajesz tzw. f-string, czyli f"Twój tekst {zmienna}". Można to też zrobić jak w Excelu ale jest więcej zabawy.