Python3 klasa ze zmienną ilością argumentów w słowniku

Autor:
Doktor Problem
Opublikowano:
Kategorie:
Ubuntu
Tagi:


Tworząc klasy w python3, preferuje przekazywać jej jeden argument – jako słownik (eng. dictionary). A za pomocą małej sztuczki, nie zmuszać się do podawania i pamiętania wszystkich elementów konfigu.

#!/usr/bin/env python3

class ClassConfig ():
	param1 = 1
	param2 = "cos"
	def __init__(self, config):
		if config.__contains__("param1"):
			self.param1 = config["param1"]
		if config.__contains__("param2"):
			self.param2 = config["param2"]
			
	def test(self):
		print(self.param1)
		print(self.param2)

config = {"param2": 12}
c = ClassConfig(config)
c.test()

Co tu się dzieje. Klasa na początku inicjuje domyślne parametry | argumenty klasy.
Zabezpiecza to nas przed sytuacją w której programista, tworząc egzemplarz klasy nie podaje żadnych argumentów.

Konstruktor __init__() przypisuje wartości zmiennym, podane przy tworzeniu egzemplarza klasy.
Zakładając że w słowniku config podajemy tylko nie które klucze (keys) słownika, metoda __contains__ poratuje nas przed błędem komunikującym brak inicjowanego klucza.

Jeżeli znacie lepsze rozwiązanie, na zmienną ilość argumentów w klasach python’a zapraszam do komentarza.

Moje Python moduły


Frazy wpisywane w wyszukiwarkach aby znaleźć ten artykuł:
|

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Nazwa *
E-mail *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Przeczytaj poprzedni wpis:
Ubuntu iso na usb – jak nagrać obraz iso na usb pod Linux

Jak nagrać obraz iso na dysk usb pod systemem Ubuntu Linux ? To bardzo proste i szybkie. Linux w tej...

Zamknij