Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!

Wyrażenia z dwoma gwiazdkami (**) stosujemy gdy do funkcji chcemy przekazać zestaw argumentów klucz wartość. W przeciwieństwie do *args argumentom przypiszemy nazwy, a nazwy te staną się kluczem dla wartości. Po argumentach przekazanych w ten sposób poruszamy się jak po słowniku:
def parametr_kwargs( **kwargs):
for k in kwargs:
print(k,kwargs[k])
parametr_kwargs(dodatkowy=48, nastepny=111)
Wynik działania na konsoli:
dodatkowy 48
nastepny 111
"k" stanowi tutaj klucz i w kolejnych "k" będziemy mieli nazwy parametrów jakie zostały przekazane, a w kwargs[k] ich wartości. Nieco inna wizualizacja:
def kwargs(**parametry):
print(parametry)
kwargs(param1=1,param2=2,param3=3)
powoduje wyświetlenie na konsoli:
{'param1': 1, 'param2': 2, 'param3': 3}
Jeśli zechcielibyśmy do funkcji przekazać jakieś dodatkowe poza **kwargs parametry to musimy wymienić je jako pierwsze:
def kwargs_argument(argument,**kwargs):
print(argument)
print(kwargs)
kwargs_argument(argument=10,param1='Andrzej',param2='Klusiewicz')
Wynik działania na konsoli:
10
{'param1': 'Andrzej', 'param2': 'Klusiewicz'}
Przykład zastosowania **kwargs, funkcja która umieszcza w pliku o przekazanej nazwie dowolne parametry w formacie pliku csv:
def zapisz_parametry_do_pliku(nazwa_pliku,**parametry):
plik=open(nazwa_pliku,mode='w', encoding='utf-8')
for p in parametry:
plik.write(f'{p};{parametry[p]}\n')
plik.close()
zapisz_parametry_do_pliku('mojplik.csv',parametr1='wartość 1',parametr2=2)
Zawartość pliku ‘mojplik.csv’:
parametr1;wartość 1
parametr2;2
Ten kurs daje Ci solidne podstawy Pythona. Jeśli chcesz pójść dalej i pod okiem trenera dojść od pierwszej linijki kodu do własnego modelu uczenia maszynowego, sprawdź nasze pięciodniowe szkolenie Python od podstaw, przez analizę danych, do machine learning. Pierwsze trzy dni to Python w praktyce: typy i kolekcje, instrukcje warunkowe i pętle, funkcje, moduły i pakiety, pliki tekstowe, usługi sieciowe oraz praca z bazą PostgreSQL. Czwarty dzień to analiza danych w pandas (wczytywanie CSV, TSV i XLS, filtrowanie, agregacje, statystyki) i wizualizacja w Matplotlib, Seaborn oraz Plotly. Piąty dzień to uczenie maszynowe w scikit-learn: regresja liniowa i logistyczna, drzewa decyzyjne, las losowy, XGBoost, walidacja predykcji, dobór hiperparametrów i przeciwdziałanie przeuczeniu. Szkolenie ma terminy gwarantowane, czyli odbywa się niezależnie od wielkości grupy.
Szkolenie Python od podstaw, przez analizę danych, do machine learning
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...