Išspręsta: Python __sub__ magiškas metodas

Python magic metodas __sub__ naudojamas funkcijai, kuriai reikia dviejų argumentų, iškviesti, tačiau pirmasis argumentas interpretuojamas kaip antrojo argumento klasės poklasis. Tai gali sukelti netikėtą elgesį, jei poklasis neįgyvendins magiško metodo __sub__.

The __sub__ magic method is used to implement the subtraction operator for objects. It is called when the - operator is used on two objects of the same type. The __sub__ method should return the result of the subtraction operation.

For example, if we have a class that represents a complex number, we could define the __sub__ method like this:

class ComplexNumber: def __init__(self, real, imaginary): self.real = real self.imaginary = imaginary def __sub__(self, other): return ComplexNumber(self.real - other.real, self.imaginary - other.imaginary)

Now we can use the - operator on two ComplexNumber objects:

c1 = ComplexNumber(1, 2) c2 = ComplexNumber(3, 4) c3 = c1 - c2 print(c3) # Prints ComplexNumber(real=-2, imaginary=-2)

Kas yra magiškas metodas

Python magic metodas yra specialus funkcijos tipas, leidžiantis iškviesti funkciją nenurodant jos pavadinimo. Tai atliekama prieš funkcijos pavadinimą įrašant ampersandą (&).

Magijos metodų sąrašas

Yra daug skirtingų būdų, kaip atlikti magiją Python. Štai keletas:

1. importuoti atsitiktinai
2. importo laikas
3. iš matematikos importo sqrt, pi
4. nuo datetime importavimo data, laikas
5. iš operatoriaus importo pridėti, atimti, dauginti, padalyti
6. iš functools importuoti dalinį
7. iš kolekcijų importo dekas

Susijusios naujienos:

Palikite komentarą