Dekoratory i metaprogramowanie

 0    4 fiszki    szczepaniaklucja7
ściągnij mp3 drukuj graj sprawdź się
 
Pytanie Odpowiedź
Jak rozwiązać FizzBuzz za pomocą dekoratorów?
rozpocznij naukę
Można stworzyć dekorator @override(value, condition), który sprawdza warunek (np. podzielność przez 3 lub 5) i zwraca odpowiedni napis zamiast liczby, nakładając go wielokrotnie na bazową funkcję
Jaka jest różnica między @classmethod i @staticmethod?
rozpocznij naukę
@classmethod: przyjmuje klasę (cls) jako pierwszy argument i ma dostęp do danych wspólnych dla wszystkich obiektów tej klas ◦ @staticmethod: nie przyjmuje ani self, ani cls; jest to zwykła funkcja umieszczona w klasie dla zachowania porządku
Jaka jest różnica między dekoratorem i mixinem?
rozpocznij naukę
Mixin: rozszerza klasę o nowe metody poprzez dziedziczenie. ◦ Dekorator: modyfikuje zachowanie konkretnej funkcji lub metody bez zmiany struktury klas
Do czego służy dekorator wraps?
rozpocznij naukę
Służy do zachowania metadanych (takich jak nazwa funkcji __name__) oryginalnej funkcji po jej udekorowaniu, co ułatwia debugowanie

Musisz się zalogować, by móc napisać komentarz.