Išspręsta: __sub__

Pagrindinė problema, susijusi su __sub__, yra ta, kad ją galima naudoti kuriant potipį, kuris nesuderinamas su pradiniu tipu.

def __sub__(self, other):
    """Subtract two vectors."""
    if len(self) != len(other):
        raise ValueError("Cannot subtract vectors of different lengths.")
    return Vector([x - y for x, y in zip(self, other)])

Tai vektorinio objekto atimties operatoriaus apibrėžimas. Jei du atimami vektoriai nėra vienodo ilgio, tai sukels ValueError. Priešingu atveju jis grąžins naują vektorinį objektą, kurio komponentai yra dviejų įvesties vektorių atitinkamų komponentų skirtumai.

_sub_, savęs kiti argumentai

Python kalboje antrinis argumentas yra argumentas, kuris yra kito argumento dalis. Pavyzdžiui, šiame kode pirmasis argumentas (x) yra antrojo argumento (y) poargumentas:

x = 5

y = 10

Šiuo atveju x ir y yra trečiojo argumento (z) poargumentai.

Klasės atvejai

Python sistemoje klasės yra klasės atvejai. Klasė yra objektų kūrimo šablonas. Kuriate klasės egzempliorių naudodami raktinį žodį class, po kurio nurodomas klasės pavadinimas. Pavyzdžiui, norėdami sukurti MyClass klasės egzempliorių, turėtumėte naudoti šį teiginį:

mano klasė = MyClass ()

Taip pat galite sukurti klasės egzempliorių naudodami klasėje apibrėžtą konstruktoriaus funkciją. Konstruktoriaus funkcija naudoja vieną argumentą, kuris yra objekto, kurį norite sukurti, pavadinimas. Pavyzdžiui, norėdami sukurti MyClass klasės egzempliorių ir iškviesti jos konstruktoriaus funkciją, naudokite šį teiginį:

mano klasė = MyClass (vardas = "Jonas")

Magiškas metodas

Nėra vienareikšmio atsakymo į šį klausimą, nes geriausias būdas pritaikyti magijos metodą Python priklauso nuo konkrečių jūsų poreikių. Tačiau kai kurie patarimai, kaip naudoti magiškąjį metodą „Python“, apima jo naudojimą norint automatizuoti varginančius darbus arba greitai ir lengvai atlikti sudėtingas operacijas. Be to, visada įsitikinkite, kad suprantate galimą riziką, susijusią su magijos metodo naudojimu, nes jis gali būti pavojingas, jei naudojamas netinkamai.

Susijusios naujienos:

Palikite komentarą