Wpis z mikrobloga

Takie pytanko dotyczące #programowanie w #python:
czytałem sobie o @classmethod i @staticmethod i tak:
jeżeli do użycia @staticmethod nie potrzebuję instancji klasy X, to teoretycznie w obrębie klasy mógłbym zawrzeć coś takiego:
@staticmethod
def program():
i tutaj instrukcje jakiegoś programu, który robi rzeczy, do których potrzebna mi jest klasa

np ściąganie kursów walut z api nbp:
mam klasę NBP, zdefiniowane metody, które ściągają całą tabelę, kursy pojedynczych walut itd
i teraz zamiast pisać skrypt który zaimportuje ten nbp i cos tam zrobi to teoretycznie mógłbym zrobić:
@staticmethod
def downloadCHF():
# tutaj jakiś instrukcje

czyli cały program to mogłoby być:
NBP.downloadCHF()
to oczywiście działa, bo sprawdziłem, ale moje pytanie: jak to się ma do ogólnie przyjętych konwencji i dobrych praktyk?
jest to dopuszczalne, czy dostanę zjeby?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dog_meat: tzn w środku tego downloadCHF() tworzę instację NBP i wykonuję na niej metodę getrates, np:
NBP.get
rates("CHF")
ale patrząc po googlach, to nigdzie się tego tak nie używa, więc pewnie wydziwiam, ale tak już mam, że nie lubię klepać literka po literce przykładów z tutoriali, zawsze muszę coś po swojemu udziwnić, bo inaczej mnie to nudzi i nie jestem w stanie dotrwać do końca - oczywiście czasami to
  • Odpowiedz