A Python, tot és un objecte. Hi ha molts mètodes de crida al sistema 'ordinaris' en aquests objectes darrere de l'escena que no són visibles per al programador. Aquí ve el que s'anomena com mètodes màgics . Els mètodes màgics de Python són mètodes especials que s'invoquen quan executem qualsevol codi Python normal. Per diferenciar-los amb les funcions normals, tenen guions baixos dobles al voltant.
Si volem afegir a i b, escrivim la sintaxi següent:
c = a + b>
Internament s'anomena així:
mètode de cadena a java
c = a.__add__(b)>
__getitem__()>és un mètode màgic en Python, que quan s'utilitza en una classe, permet que les seves instàncies utilitzin el[]>operadors (indexadors). Diguem que x és una instància d'aquesta classe, doncsx[i]>és aproximadament equivalent atype(x).__getitem__(x, i)>.
El mètode__getitem__(self, key)>defineix el comportament per quan s'accedeix a un element, utilitzant la notacióself[key]>. Això també forma part dels protocols de contenidors mutables i immutables.
Exemple:
munt i munt de classificació
# Code to demonstrate use> # of __getitem__() in python> > > class> Test(>object>):> > ># This function prints the type> ># of the object passed as well> ># as the object item> >def> __getitem__(>self>, items):> >print> (>type>(items), items)> > # Driver code> test>=> Test()> test[>5>]> test[>5>:>65>:>5>]> test[>'techcodeview.com'>]> test[>1>,>'x'>,>10.0>]> test[>'a'>:>'z'>:>2>]> test[>object>()]> |
>
>
Sortida:
5 slice(5, 65, 5) techcodeview.com (1, 'x', 10.0) slice('a', 'z', 2)> A diferència d'altres llenguatges, Python bàsicament us permet passar qualsevol objecte a l'indexador. Potser us sorprendrà que eltest[1, 'x', 10.0]>en realitat analitza. Per a l'intèrpret de Python, aquesta expressió és equivalent a això:test.__getitem__((1, 'x', 10.0))>. Com podeu veure, la part 1, 'x', 10.0 s'analitza implícitament com una tupla. Eltest[5:65:5]>l'expressió fa ús de la sintaxi slice de Python. És equivalent a aquesta expressió: prova[part (5, 65, 5)].
com crear una matriu en java
El__getitem__>El mètode màgic s'utilitza normalment per a la indexació de llistes, la cerca de diccionari o l'accés a intervals de valors. Tenint en compte el versàtil que és, és probablement un dels mètodes màgics més infrautilitzats de Python.