Aquest article us presentarà un tema interessant, senzill però bàsic per a la programació, a què em refereixo constructors. En aquest article es tractaran les següents indicacions,
- Constructors de Python
- Què és un constructor a Python?
- Creació d’un constructor a Python
- Diferència entre constructors parametritzats i no parametritzats
- Funcions de classe integrades a Python
- Atributs de classe incorporats
Comencem doncs,
Constructors de Python
Si ja fa temps que esteu programant, és probable que us hagueu topat amb el nom Python massa vegades. Python com a llenguatge de programació segueix l'orientació de l'objecte, és a dir, cada instància que es crea a la plataforma es defineix com a objecte. Tot i que la majoria dels components de Python tenen una gran quantitat d’informació en línia, un tema que es continua investigant una i altra vegada és el d’un constructor a Python. Per tant, en aquest article analitzarem tot sobre els constructors de Python, com podeu fer-ne ús i els avantatges que aporten a la taula. Anem a començar!
Continuem amb aquest article sobre Python Constructors,
Què és un constructor a Python?
Un constructor es pot definir simplement com un tipus especial de mètode o funció que es pot utilitzar per inicialitzar instàncies de diversos membres d'una classe.
A Python, hi ha dos tipus diferents de constructors.
- Constructor no parametritzat: els constructors de Python que no tenen cap paràmetre present es coneix com a constructor no parametritzat.
- Constructor parametritzat: un constructor que té un paràmetre predefinit es coneix com a constructor parametritzat.
Un constructor es defineix en el moment que creem un objecte dins d’una classe. La presència d'un constructor també verifica que hi hagi prou recursos, de manera que es pot executar fàcilment una tasca d'inici mitjançant un objecte d'una classe.
Continuem amb aquest article sobre Python Constructors,
Creació d’un constructor a Python
Ara que ja us heu familiaritzat amb la definició i els tipus de constructors a Python, anem a explorar com podem crear un constructor a Python.
A Python, si heu de crear una construcció, heu de fer ús de la funció o mètode __init__. Necessiteu recórrer a aquest mètode en el moment en què s’instancia una classe. Un cop definida i cridada la funció __init__, podem passar qualsevol nombre d’arguments en el moment de crear els objectes de la classe en funció de les vostres necessitats. L'ús més comú d'un constructor a Python és inicialitzar els atributs d'una classe.
Nota:
què és l'esdeveniment a javascript
Totes les classes que creeu a Python necessiten tenir un constructor present perquè funcioni, fins i tot si és el constructor per defecte.
Per entendre millor aquest concepte, consulteu l'exemple següent.
classe Empleat: def __init __ (self, name, id): self.id = id self.name = nom def display (self): print ('ID:% d nNom:% s'% (self.id, self.name )) emp1 = Empleat ('John', 101) emp2 = Empleat ('David', 102) #accessing display () mètode per imprimir informació empleat 1 emp1.display () #accessing display () mètode per imprimir informació empleat 2 emp2 .display ()
Quan executeu el programa anterior, la sortida tindrà un aspecte semblant.
ID: 101
Nom: Joan
ID: 102
Nom: David
Continuem amb aquest article sobre Python Constructors,
Diferència entre constructors parametritzats i no parametritzats
Com s'ha esmentat a les definicions anteriors, un constructor parametritzat és aquell que té un valor predefinit i un constructor no parametritzat és aquell que no té assignat cap valor. Tot i programar els casos d’ús varien en funció del context i, per entendre-ho millor, consulteu els exemples següents.
classe Student: #Constructor - no parametrizat def __init __ (self): print ('This is non parametrized constructor') def show (self, name): print ('Hello', name) student = Student () student.show (' Joan ')
L'anterior és un exemple d'un constructor no parametritzat i la seva sortida serà la següent.
Aquest és un constructor no parametritzat
Hola John
classe Estudiant: #Constructor - parametrizat def __init __ (self, name): print ('This is parametrized constructor') self.name = nom def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()
L'anterior és un exemple d'un constructor parametritzat i la seva sortida serà la següent.
proves de diversos navegadors mitjançant seleni
Aquest és un constructor parametritzat
Hola John
Continuem amb aquest article sobre Python Constructors,
Funcions de classe integrades a Python
Ara que els conceptes bàsics d’un constructor a Python són clars, explorem les diverses classes incorporades que són presents a Python.
escrivint un intèrpret a Java
- getattr (obj, nom, predeterminat): aquesta funció integrada a Python s'utilitza per accedir als atributs d'una classe.
- delattr (obj, nom): si heu de suprimir un atribut específic d'una classe, feu ús d'aquesta funció incorporada.
- setattr (obj, nom, valor): en una situació determinada, si decidiu establir un valor concret en un atribut específic, feu ús d'aquesta funció que s'inclou a Python.
- hasattr (obj, nom): per últim, però no menys important, si heu de veure si un objecte en particular conté un atribut, feu ús d'aquesta funció. Després de l'execució, això tornarà a ser cert si hi ha un atribut en una funció.
Per entendre el concepte de funcions de classe incorporades a Python, mireu el codi següent.
class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age #crea l'objecte de la classe Student s = Student ('John', 101,22) # imprimeix el nom de l'atribut de la impressió de l'objecte (getattr (s, 'nom')) # restableix el valor de l'edat de l'atribut a 23 setattr (s, 'edat', 23) # imprimeix el valor modificat de l'edat d'impressió (getattr ( s, 'edat')) # imprimeix cert si l'estudiant conté l'atribut amb nom id imprès (hasattr (s, 'id')) # suprimeix l'atribut age delattr (s, 'edat') # això donarà un error ja que s'ha suprimit l'edat de l'atribut print (s.age)
La sortida de l’anterior serà.
Joan
23
És cert
AttributeError: l'objecte 'Estudiant' no té cap atribut 'edat'
Continuem amb aquest article sobre Python Constructors,
Atributs de classe incorporats
Juntament amb les funcions de classe incorporades, Python inclou atributs de classe incorporats, que de vegades són útils. Alguns dels atributs de classe integrats més significatius són els que es donen a continuació.
- __dict__: en utilitzar-lo, podeu veure el diccionari que conté informació sobre l'espai de noms de la classe.
- __name__: utilitzeu aquest atribut si necessiteu veure el nom de la classe actual.
- __doc__: aquest atribut conté una cadena que conté la documentació de la classe actual.
- __module__: si heu d’accedir al mòdul en què es defineix la classe, feu servir aquest atribut incorporat.
- __bases__: si heu de veure la tupla que inclou totes les classes base, utilitzeu aquesta funció.
A continuació es mostra un exemple per aclarir tots els atributs de classe integrats.
classe Estudiant: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age def display_details (self): print ('Name:% s, ID:% d, age :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
Això ens porta al final d’aquest article sobre Python Constructors.
Per obtenir coneixements en profunditat sobre Python juntament amb les seves diverses aplicacions, podeu fer-ho per a formació en línia en directe amb assistència les 24 hores del dia, els 7 dies de la setmana i accés durant tota la vida
Tens alguna pregunta? Esmenteu-los a la secció de comentaris de 'Tutorial Python' i us respondrem.