plan na czwartek
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
# 2025_12_15_python
|
||||
|
||||
Oython dla nieprogramistów
|
||||
Python dla nieprogramistów
|
||||
7
dzien_04/Readme.md
Normal file
7
dzien_04/Readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Plan:
|
||||
- kolejne moduły - Faker i przykład z pliku dzien_03
|
||||
- importowanie własnych funkcji z innych plików
|
||||
(wysyłka maili na podstawie: https://github.com/thevickypedia/gmail-connector)
|
||||
- zasieg zmiennych, mutable i immutable
|
||||
- klasy
|
||||
- pliki i operacje... rozpoznawanie po nagłówkach
|
||||
BIN
dzien_04/przyklady/bazowy_slownik_dla_df_faker.xlsx
Normal file
BIN
dzien_04/przyklady/bazowy_slownik_dla_df_faker.xlsx
Normal file
Binary file not shown.
72
dzien_04/przyklady/fake_data.py
Normal file
72
dzien_04/przyklady/fake_data.py
Normal file
@@ -0,0 +1,72 @@
|
||||
# nothing
|
||||
from faker import Faker
|
||||
from random import randint, random, choice
|
||||
import pandas as pd
|
||||
|
||||
fake = Faker("pl_PL")
|
||||
papiery = [
|
||||
"PKOGS",
|
||||
"PKOSO",
|
||||
"RENTIERFIZ",
|
||||
"PZUAKORD",
|
||||
"PKOGD",
|
||||
"INVGLDFIZ",
|
||||
"PKOASZEWZ",
|
||||
"INVFIZ",
|
||||
"IPOBENE3A",
|
||||
"INVCEEFIZ",
|
||||
]
|
||||
|
||||
daty = [
|
||||
"2025-03-01",
|
||||
"2025-03-02",
|
||||
"2025-03-03",
|
||||
"2025-03-04",
|
||||
"2025-03-05",
|
||||
"2025-03-06",
|
||||
"2025-03-07",
|
||||
"2025-05-08",
|
||||
"2025-05-09",
|
||||
"2025-05-10",
|
||||
"2025-05-11",
|
||||
"2025-05-12",
|
||||
"2025-04-13",
|
||||
"2025-04-14",
|
||||
"2025-04-15",
|
||||
|
||||
]
|
||||
|
||||
osoby = []
|
||||
for _ in range(20):
|
||||
osoby.append(fake.name())
|
||||
|
||||
elementy_dat = []
|
||||
elementy_inst = []
|
||||
elementy_osoba = []
|
||||
elementy_ilosc = []
|
||||
elementy_obrot = []
|
||||
|
||||
for _ in range(20000):
|
||||
data = choice(daty)
|
||||
instrument = choice(papiery)
|
||||
osoba = choice(osoby)
|
||||
ilosc = randint(100,2000)
|
||||
obrot = ilosc * random()*1000
|
||||
elementy_dat.append(data)
|
||||
elementy_inst.append(instrument)
|
||||
elementy_osoba.append(osoba)
|
||||
elementy_ilosc.append(ilosc)
|
||||
elementy_obrot.append(obrot)
|
||||
|
||||
|
||||
|
||||
bazowy_slownik_dla_df = {
|
||||
"data": elementy_dat,
|
||||
"osoba": elementy_osoba,
|
||||
"instrument": elementy_inst,
|
||||
"ilosc": elementy_ilosc,
|
||||
"obrot": elementy_obrot,
|
||||
}
|
||||
|
||||
df = pd.DataFrame(bazowy_slownik_dla_df)
|
||||
df.to_excel("bazowy_slownik_dla_df_faker.xlsx")
|
||||
13
dzien_04/przyklady/klasa_osoba_01.py
Normal file
13
dzien_04/przyklady/klasa_osoba_01.py
Normal file
@@ -0,0 +1,13 @@
|
||||
class Osoba:
|
||||
def __init__(self, name, age=30, sex="M"):
|
||||
self.name = name
|
||||
self.sex = sex
|
||||
self.age = age
|
||||
print(f"Start obiektu: {id(self)}")
|
||||
|
||||
lista_osob = []
|
||||
for _ in range(10):
|
||||
osoba = Osoba("Adam Jurkiewicz")
|
||||
lista_osob.append(osoba)
|
||||
|
||||
print(lista_osob)
|
||||
27
dzien_04/przyklady/klasa_osoba_02.py
Normal file
27
dzien_04/przyklady/klasa_osoba_02.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from random import choice, randint
|
||||
|
||||
class Osoba:
|
||||
def __init__(self, name, age=30, sex="M"):
|
||||
self.name = name
|
||||
self.sex = sex
|
||||
self.age = age
|
||||
print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
|
||||
|
||||
def __del__(self):
|
||||
print (f"Bye, bye: {id(self)}....")
|
||||
|
||||
def __str__(self):
|
||||
return f"Oto osoba - {self.name} "
|
||||
|
||||
lista_osob = []
|
||||
for nr in range(10):
|
||||
wiek = randint(20,50)
|
||||
plec = choice(["M","K","X"])
|
||||
osoba = Osoba("Jurkiewicz", sex=plec, age=wiek)
|
||||
lista_osob.append(osoba)
|
||||
lista_osob.append(osoba)
|
||||
|
||||
print(lista_osob)
|
||||
print("----------------------")
|
||||
for osoba in lista_osob:
|
||||
print(osoba)
|
||||
38
dzien_04/przyklady/klasa_osoba_03.py
Normal file
38
dzien_04/przyklady/klasa_osoba_03.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from random import choice, randint
|
||||
|
||||
nazwiska = [
|
||||
"Sylwia Ciuruś",
|
||||
"Marcelina Janc",
|
||||
"Dorota Leśny",
|
||||
"Hubert Beker",
|
||||
"Albert Budzeń",
|
||||
"Bruno Kargol",
|
||||
"Olaf Juroszek",
|
||||
]
|
||||
|
||||
class Osoba:
|
||||
def __init__(self, name="XXX", age=30, sex="M"):
|
||||
self.name = name
|
||||
self.sex = sex
|
||||
self.age = age
|
||||
print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
|
||||
|
||||
def __del__(self):
|
||||
print (f"Bye, bye: {id(self)}....")
|
||||
|
||||
def __str__(self):
|
||||
return f"Oto osoba - {self.name} "
|
||||
|
||||
lista_osob = []
|
||||
for nr in range(10):
|
||||
wiek = randint(20,50)
|
||||
plec = choice(["M","K","X"])
|
||||
nazwisko = choice(nazwiska)
|
||||
osoba = Osoba(nazwisko, sex=plec, age=wiek)
|
||||
lista_osob.append(osoba)
|
||||
|
||||
|
||||
print(lista_osob)
|
||||
print("----------------------")
|
||||
for osoba in lista_osob:
|
||||
print(osoba)
|
||||
58
dzien_04/przyklady/klasa_osoba_04.py
Normal file
58
dzien_04/przyklady/klasa_osoba_04.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from random import choice, randint
|
||||
|
||||
nazwiska = [
|
||||
"Sylwia Ciuruś",
|
||||
"Marcelina Janc",
|
||||
"Dorota Leśny",
|
||||
"Hubert Beker",
|
||||
"Albert Budzeń",
|
||||
"Bruno Kargol",
|
||||
"Olaf Juroszek",
|
||||
]
|
||||
|
||||
class Osoba:
|
||||
def __init__(self, name="XXX", age=30, sex="M"):
|
||||
self.name = name
|
||||
self.sex = sex
|
||||
self.age = age
|
||||
self.miesieczny_przychod = None
|
||||
print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
|
||||
|
||||
def __del__(self):
|
||||
print (f"Bye, bye: {id(self)}....")
|
||||
|
||||
def __str__(self):
|
||||
return f"Oto osoba - {self.name} "
|
||||
|
||||
def roczne_dochody(self):
|
||||
if self.miesieczny_przychod is None:
|
||||
return -1
|
||||
return 12*self.miesieczny_przychod
|
||||
|
||||
def miesieczny_przychod_wpisz(self,wartosc):
|
||||
if self.miesieczny_przychod is None:
|
||||
self.miesieczny_przychod = wartosc
|
||||
print(f"Zmieniam na {wartosc}")
|
||||
else:
|
||||
print("POzostawiam stare")
|
||||
|
||||
|
||||
lista_osob = []
|
||||
for nr in range(10):
|
||||
wiek = randint(20,50)
|
||||
plec = choice(["M","K","X"])
|
||||
nazwisko = choice(nazwiska)
|
||||
osoba = Osoba(nazwisko, sex=plec, age=wiek)
|
||||
lista_osob.append(osoba)
|
||||
|
||||
|
||||
print(lista_osob)
|
||||
print("----------------------")
|
||||
for obiekt_osoby in lista_osob:
|
||||
mc = randint(2000,5000)
|
||||
print(obiekt_osoby)
|
||||
print(f"Roczny dochód wynosi przed: {obiekt_osoby.roczne_dochody()}")
|
||||
obiekt_osoby.miesieczny_przychod_wpisz(200)
|
||||
obiekt_osoby.miesieczny_przychod_wpisz(300)
|
||||
# obiekt_osoby.miesieczny_przychod = "zero" -tak nie robimy!
|
||||
print(f"Roczny dochód wynosi po : {obiekt_osoby.roczne_dochody()}")
|
||||
88
dzien_04/przyklady/klasa_osoba_05.py
Normal file
88
dzien_04/przyklady/klasa_osoba_05.py
Normal file
@@ -0,0 +1,88 @@
|
||||
from random import choice, randint
|
||||
|
||||
nazwiska = [
|
||||
"Sylwia Ciuruś",
|
||||
"Marcelina Janc",
|
||||
"Dorota Leśny",
|
||||
"Hubert Beker",
|
||||
"Albert Budzeń",
|
||||
"Bruno Kargol",
|
||||
"Olaf Juroszek",
|
||||
]
|
||||
|
||||
class Osoba:
|
||||
def __init__(self, name="XXX", age=30, sex="M", status = "Osoba"):
|
||||
self.name = name
|
||||
self.sex = sex
|
||||
self.age = age
|
||||
self.miesieczny_przychod = None
|
||||
self.status = status
|
||||
# print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
|
||||
|
||||
def __str__(self):
|
||||
return f"Oto osoba - {self.name} - {self.status=} "
|
||||
|
||||
def roczne_dochody(self):
|
||||
if self.miesieczny_przychod is None:
|
||||
return -1
|
||||
return 12*self.miesieczny_przychod
|
||||
|
||||
def miesieczny_przychod_wpisz(self,wartosc):
|
||||
if self.miesieczny_przychod is None:
|
||||
self.miesieczny_przychod = wartosc
|
||||
print(f"Zmieniam na {wartosc}")
|
||||
else:
|
||||
print("POzostawiam stare")
|
||||
|
||||
|
||||
class Dyrektor(Osoba):
|
||||
|
||||
def __init__(self,name="Dyrektorskie nazwisko", age=40, sex="M"):
|
||||
print("Uruchamiam init dyrektora")
|
||||
super().__init__(name, age=age, sex=sex, status="Dyrektor")
|
||||
|
||||
|
||||
def miesieczny_przychod_wpisz(self, wartosc):
|
||||
self.miesieczny_przychod = wartosc *2
|
||||
print(f"Zmieniam podwójnie dla dyrektora na {self.miesieczny_przychod}")
|
||||
|
||||
def roczne_dochody(self):
|
||||
if self.miesieczny_przychod is None:
|
||||
return -2
|
||||
return 13*self.miesieczny_przychod
|
||||
|
||||
# zadanie - zdefiniować klasę Prektykant z rocznym dochodem 3 * miesięczny / -3
|
||||
|
||||
class Praktykant(Osoba):
|
||||
nowy_status = "Praktykant"
|
||||
def roczne_dochody(self):
|
||||
if self.miesieczny_przychod is None:
|
||||
return -3
|
||||
return 3 * self.miesieczny_przychod
|
||||
|
||||
|
||||
lista_osob = []
|
||||
for nr in range(10):
|
||||
wiek = randint(20,50)
|
||||
plec = choice(["M","K","X"])
|
||||
nazwisko = choice(nazwiska)
|
||||
osoba = Osoba(nazwisko, sex=plec, age=wiek)
|
||||
lista_osob.append(osoba)
|
||||
|
||||
# pojedynczy dyrektor
|
||||
dyro = Dyrektor()
|
||||
lista_osob.append(dyro)
|
||||
|
||||
praktyk = Praktykant("Adam praktykant", age=30, sex="X")
|
||||
lista_osob.append(praktyk)
|
||||
|
||||
print(lista_osob)
|
||||
print("----------------------")
|
||||
for obiekt_osoby in lista_osob:
|
||||
mc = randint(2000,5000)
|
||||
print(obiekt_osoby)
|
||||
print(f"Roczny dochód wynosi przed: {obiekt_osoby.roczne_dochody()}")
|
||||
obiekt_osoby.miesieczny_przychod_wpisz(200)
|
||||
obiekt_osoby.miesieczny_przychod_wpisz(300)
|
||||
# obiekt_osoby.miesieczny_przychod = "zero" -tak nie robimy!
|
||||
print(f"Roczny dochód wynosi po : {obiekt_osoby.roczne_dochody()}")
|
||||
10
dzien_04/przyklady/klasy_01.py
Normal file
10
dzien_04/przyklady/klasy_01.py
Normal file
@@ -0,0 +1,10 @@
|
||||
class Computer:
|
||||
pass
|
||||
|
||||
komputer1 = Computer()
|
||||
komputer2 = Computer()
|
||||
|
||||
print(komputer1)
|
||||
print(dir(komputer1))
|
||||
|
||||
|
||||
22
dzien_04/przyklady/klasy_02.py
Normal file
22
dzien_04/przyklady/klasy_02.py
Normal file
@@ -0,0 +1,22 @@
|
||||
class Computer:
|
||||
def __init__(self):
|
||||
print("Startujemy...")
|
||||
# definicja właściwości obiektów tej lasy
|
||||
self.procesor = "CPU at start"
|
||||
self.speed = "5 GHz"
|
||||
self.cpu_speed = 5000
|
||||
|
||||
|
||||
komputer1 = Computer()
|
||||
komputer2 = Computer()
|
||||
|
||||
print(komputer1)
|
||||
print(dir(komputer1))
|
||||
print(dir(komputer2))
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
|
||||
komputer1.procesor = "AMD M6"
|
||||
print('-------------------')
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
32
dzien_04/przyklady/klasy_03.py
Normal file
32
dzien_04/przyklady/klasy_03.py
Normal file
@@ -0,0 +1,32 @@
|
||||
class Computer:
|
||||
def __init__(self):
|
||||
print("Startujemy...")
|
||||
# definicja właściwości obiektów tej lasy
|
||||
self.procesor = "CPU at start"
|
||||
self.speed = "5 GHz"
|
||||
self.cpu_speed = 5000
|
||||
|
||||
def informacje(self):
|
||||
print(f"Mój komputer ma procesor {self.procesor}")
|
||||
print(f"o prędkości {self.speed}")
|
||||
return None
|
||||
|
||||
|
||||
komputer1 = Computer()
|
||||
komputer2 = Computer()
|
||||
|
||||
print(komputer1)
|
||||
print(dir(komputer1))
|
||||
print(dir(komputer2))
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
|
||||
komputer1.procesor = "AMD M6"
|
||||
print('-------------------')
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
|
||||
print('-------------------')
|
||||
komputer2.speed = "3,3 GHz"
|
||||
komputer1.informacje()
|
||||
komputer2.informacje()
|
||||
47
dzien_04/przyklady/klasy_03_zadanie.py
Normal file
47
dzien_04/przyklady/klasy_03_zadanie.py
Normal file
@@ -0,0 +1,47 @@
|
||||
class Computer:
|
||||
def __init__(self):
|
||||
print("Startujemy...")
|
||||
# definicja właściwości obiektów tej lasy
|
||||
self.procesor = "CPU at start"
|
||||
self.speed = "5 GHz"
|
||||
self.cpu_speed = 5000
|
||||
|
||||
def informacje(self):
|
||||
print(f"Mój komputer ma procesor {self.procesor}")
|
||||
print(f"o prędkości {self.speed}")
|
||||
return None
|
||||
|
||||
# utówrz metodę szybki i zwróć w niej True gdy self.cpu_speed>3000
|
||||
# inaczej False - sprawdź, przetestuj, ustaw 1 obiekt na cpu_speed 1200
|
||||
|
||||
def szybki(self):
|
||||
# return True if self.cpu_speed > 3000 else False
|
||||
if self.cpu_speed> 3000:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
komputer1 = Computer()
|
||||
komputer2 = Computer()
|
||||
|
||||
print(komputer1)
|
||||
print(dir(komputer1))
|
||||
print(dir(komputer2))
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
|
||||
komputer1.procesor = "AMD M6"
|
||||
print('-------------------')
|
||||
print(komputer1.procesor)
|
||||
print(komputer2.procesor)
|
||||
|
||||
print('-------------------')
|
||||
komputer2.speed = "3,3 GHz"
|
||||
komputer1.informacje()
|
||||
komputer2.informacje()
|
||||
|
||||
print(komputer1.szybki())
|
||||
print(komputer2.szybki())
|
||||
komputer1.cpu_speed = 1200
|
||||
print(komputer1.szybki())
|
||||
print(komputer2.szybki())
|
||||
27
dzien_04/przyklady/pliki_01.py
Normal file
27
dzien_04/przyklady/pliki_01.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import hashlib
|
||||
import os
|
||||
from pyfsig import *
|
||||
|
||||
def dane_pliku(plik):
|
||||
with open(plik, "rb") as plik_binarny:
|
||||
dane = plik_binarny.read()
|
||||
naglowek = dane[:32]
|
||||
wielkosc = len(dane) / 1024 # w kb
|
||||
suma_sha1 = hashlib.sha1(dane).hexdigest()
|
||||
suma_md5 = hashlib.md5(dane).hexdigest()
|
||||
# sprawdzenie content-type
|
||||
matches = find_matches_for_file_header(file_header=naglowek)
|
||||
return suma_sha1, suma_md5, wielkosc, matches
|
||||
|
||||
directory = "/home/adasiek/Documents"
|
||||
|
||||
if not os.path.exists(directory):
|
||||
print(f"Directory {directory} doesn't exist")
|
||||
exit(1)
|
||||
|
||||
for dirpath, dirname, files in os.walk(directory):
|
||||
print(f"Katalog {dirpath}:")
|
||||
for any_file in files:
|
||||
pliczek = dirpath+"/"+any_file
|
||||
sha1, md5, rozmiar, lista_content_type = dane_pliku(pliczek)
|
||||
print(f"Plik {any_file} ma rozmiar: {rozmiar} i {md5=} {sha1=} / {lista_content_type=}")
|
||||
27
dzien_04/przyklady/pliki_02.py
Normal file
27
dzien_04/przyklady/pliki_02.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import hashlib
|
||||
import os
|
||||
from pyfsig import *
|
||||
|
||||
def dane_pliku(plik):
|
||||
with open(plik, "rb") as plik_binarny:
|
||||
dane = plik_binarny.read()
|
||||
naglowek = dane[:32]
|
||||
wielkosc = len(dane) / 1024 # w kb
|
||||
suma_sha1 = hashlib.sha1(dane).hexdigest()
|
||||
suma_md5 = hashlib.md5(dane).hexdigest()
|
||||
# sprawdzenie content-type
|
||||
matches = find_matches_for_file_header(file_header=naglowek)
|
||||
return suma_sha1, suma_md5, wielkosc, matches
|
||||
|
||||
directory = "/home/adasiek/Documents"
|
||||
|
||||
if not os.path.exists(directory):
|
||||
print(f"Directory {directory} doesn't exist")
|
||||
exit(1)
|
||||
|
||||
for dirpath, dirname, files in os.walk(directory):
|
||||
print(f"Katalog {dirpath}:")
|
||||
for any_file in files:
|
||||
pliczek = dirpath+"/"+any_file
|
||||
sha1, md5, rozmiar, lista_content_type = dane_pliku(pliczek)
|
||||
print(f"Plik {any_file} ma rozmiar: {rozmiar} i {md5=} {sha1=} / {lista_content_type=}")
|
||||
8
dzien_04/przyklady/zasiegi_01.py
Normal file
8
dzien_04/przyklady/zasiegi_01.py
Normal file
@@ -0,0 +1,8 @@
|
||||
def liczymy(liczba):
|
||||
print(f"{id(liczba)=}")
|
||||
return (liczba+10)*3
|
||||
|
||||
print(liczymy(100))
|
||||
liczba = 200
|
||||
print("A", id(liczba))
|
||||
print(liczymy(120))
|
||||
15
dzien_04/przyklady/zasiegi_02.py
Normal file
15
dzien_04/przyklady/zasiegi_02.py
Normal file
@@ -0,0 +1,15 @@
|
||||
inna_liczba = 555
|
||||
|
||||
def liczymy(liczba):
|
||||
print(f"{id(liczba)=}")
|
||||
print(f"{id(inna_liczba)=} / {inna_liczba=}")
|
||||
tmp_liczba = inna_liczba
|
||||
tmp2 = liczba *3
|
||||
return (liczba+10)*3
|
||||
|
||||
q = liczymy(100)
|
||||
print(q)
|
||||
liczba = 200
|
||||
|
||||
print("A", id(liczba), "B", id(inna_liczba))
|
||||
print(liczymy(120))
|
||||
17
dzien_04/przyklady/zasiegi_03.py
Normal file
17
dzien_04/przyklady/zasiegi_03.py
Normal file
@@ -0,0 +1,17 @@
|
||||
inna_liczba = 555
|
||||
|
||||
def liczymy(liczba):
|
||||
print(f"{id(liczba)=}")
|
||||
inna_liczba = 556
|
||||
print(f"{id(inna_liczba)=} / {inna_liczba=}")
|
||||
tmp_liczba = inna_liczba
|
||||
tmp2 = liczba *3
|
||||
return (liczba+10)*3
|
||||
|
||||
print("AA", id(inna_liczba))
|
||||
q = liczymy(100)
|
||||
print(q)
|
||||
liczba = 200
|
||||
print("A", id(liczba), "B", id(inna_liczba))
|
||||
|
||||
print(liczymy(120))
|
||||
20
dzien_04/przyklady/zasiegi_04_mutable.py
Normal file
20
dzien_04/przyklady/zasiegi_04_mutable.py
Normal file
@@ -0,0 +1,20 @@
|
||||
inna_liczba = [555]
|
||||
|
||||
slownik = {}
|
||||
|
||||
def liczymy(liczba):
|
||||
print(f"{id(liczba)=}")
|
||||
inna_liczba.append(556)
|
||||
slownik['lista'] = liczba
|
||||
print(f"{id(inna_liczba)=} / {inna_liczba=}")
|
||||
tmp_liczba = inna_liczba
|
||||
tmp2 = liczba *3
|
||||
return (liczba+10)*3
|
||||
|
||||
print("AA", id(inna_liczba))
|
||||
q = liczymy(100)
|
||||
print(q)
|
||||
liczba = 200
|
||||
print("A", id(liczba), "B", id(inna_liczba))
|
||||
|
||||
print(liczymy(120))
|
||||
27
dzien_04/przyklady/zasiegi_05_mutable.py
Normal file
27
dzien_04/przyklady/zasiegi_05_mutable.py
Normal file
@@ -0,0 +1,27 @@
|
||||
inna_liczba = [555]
|
||||
kolory = ("red", "blue")
|
||||
|
||||
slownik = {}
|
||||
|
||||
def liczymy(liczba):
|
||||
print(f"{id(liczba)=}")
|
||||
inna_liczba.append(liczba)
|
||||
slownik['lista'] = liczba
|
||||
print(f"{id(inna_liczba)=} / {inna_liczba=}")
|
||||
tmp_liczba = inna_liczba.copy()
|
||||
tmp_liczba.append(0)
|
||||
return (liczba+10)*3
|
||||
|
||||
print("AA", id(inna_liczba))
|
||||
q = liczymy(100)
|
||||
print(q)
|
||||
liczba = 200
|
||||
print("A", id(liczba), "B", id(inna_liczba))
|
||||
|
||||
liczymy(120)
|
||||
liczymy(220)
|
||||
liczymy(320)
|
||||
liczymy(420)
|
||||
liczymy(520)
|
||||
|
||||
print(inna_liczba, slownik)
|
||||
25
dzien_04/przyklady/zasiegi_06_obiekty.py
Normal file
25
dzien_04/przyklady/zasiegi_06_obiekty.py
Normal file
@@ -0,0 +1,25 @@
|
||||
class Jakas:
|
||||
def __init__(self, liczba):
|
||||
self.liczba = liczba
|
||||
|
||||
def fn():
|
||||
print(cos1.liczba)
|
||||
print(cos2.liczba)
|
||||
print("-----------")
|
||||
|
||||
def pokaz(obiekt):
|
||||
stringi = dir(obiekt)
|
||||
print(f"{id(obiekt)=} >> {type(obiekt)} >> {stringi=}")
|
||||
print("===========================")
|
||||
|
||||
|
||||
cos1 = Jakas(12)
|
||||
cos2 = Jakas(16)
|
||||
|
||||
cos1.liczba = 22
|
||||
fn()
|
||||
cos2.nowa = "NOWY"
|
||||
print(cos1.nowa)
|
||||
pokaz(cos1)
|
||||
pokaz(cos2)
|
||||
|
||||
30
dzien_04/przyklady/zasiegi_07_zadanie.py
Normal file
30
dzien_04/przyklady/zasiegi_07_zadanie.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# szablon
|
||||
|
||||
class Klasa:
|
||||
def __init__(self, nazwa_klasy, przedmiot="BRAK"):
|
||||
self.klasa = nazwa_klasy
|
||||
if przedmiot == "BRAK":
|
||||
raise Exception("ZŁY PRZEDMIOT")
|
||||
self.przedmiot = przedmiot
|
||||
|
||||
def jaki_przedmiot(self):
|
||||
return f"Klasa {self.klasa} to {self.przedmiot}"
|
||||
|
||||
class Informatyka(Klasa):
|
||||
def __init__(self, nazwa_klasy):
|
||||
super().__init__(nazwa_klasy, przedmiot="Informa")
|
||||
|
||||
class Biologia(Klasa):
|
||||
def __init__(self, nazwa_klasy):
|
||||
super().__init__(nazwa_klasy, przedmiot="Biol")
|
||||
|
||||
klasy = [
|
||||
Informatyka("1A"),
|
||||
Biologia("2A"),
|
||||
Biologia("3A"),
|
||||
]
|
||||
|
||||
for jaka in klasy:
|
||||
print(jaka.jaki_przedmiot())
|
||||
|
||||
Klasa("Tu powinien być eroor")
|
||||
Reference in New Issue
Block a user