• Register

ali so statične metode tudi metode?

+6 votes
205 views

Navodilo 3. vprašanja OSR: "Spremenljivka self, ki se kot prvi argument posreduje >>>vsaki metodi<<< razreda, je referenca na ustvarjen objekt - instanco razreda!" namiguje, da je prvi (ničti) argument metode vedno self.

to pa ne velja za statične metode:

class A: 
    @staticmethod 
    def f(x): 
        return x**2

ali to dejstvo vpliva na odgovor vprašanja domače naloge?

morda bi lahko bilo vprašanje zastavljeno drugače:

"Spremenljivka self, ki se kot prvi argument posreduje nestatičnim metodam razreda, je referenca na ustvarjen objekt - instanco razreda!"

opombi:

to vprašanje ni konkretno vsebinsko vprašanje na domače naloge, temveč vprašanje na vprašanje iz domače naloge.

prav tako to vprašanje ne sprašuje po odgovoru na vprašanje, vendar po razjasnitvji vprašanja.

asked Nov 1, 2018 by jan_ (1,040 points)

1 Answer

+1 vote
Pozdravljeni!

Poleg statičnih metod obstajajo še druge, ki pa za osnovno razumevanje in uporabo niso potrebne ter bi vas samo medle. Iz tega razloga jih ne omenjamo.

Če se osredotočim na statične metode: te nimajo dostopa do instance objekta (torej self) in jih redko uporabljamo. Z navadnimi metodami naredimo skoraj vse. Prej bi videl uporabnost metod razreda.

Podrobno razlago (vključno z metodami razreda) je tukaj:
https://realpython.com/instance-class-and-static-methods-demystified/#static-methods
answered Nov 1, 2018 by janko.slavic (80,790 points)
...