logo

Classes i objectes en Python

Python és un llenguatge de programació orientat a objectes que ofereix classes, que són una eina potent per escriure codi reutilitzable. Per descriure objectes amb característiques i comportaments compartits, s'utilitzen classes. Examinarem les idees de Python sobre classes i objectes en aquest article.

Classes en Python:

A Python, una classe és un tipus de dades definit per l'usuari que conté tant les dades en si com els mètodes que es poden utilitzar per manipular-les. En cert sentit, les classes serveixen com a plantilla per crear objectes. Proporcionen les característiques i operacions que utilitzaran els objectes.

Suposem que una classe és un prototip d'edifici. Un edifici conté tots els detalls sobre el pis, les habitacions, les portes, les finestres, etc. Podem fer tants edificis com vulguem, a partir d'aquests detalls. Per tant, l'edifici es pot veure com una classe, i podem crear tants objectes d'aquesta classe.

Creació de classes en Python

A Python, es pot crear una classe utilitzant la paraula clau class, seguida del nom de la classe. A continuació es mostra la sintaxi per crear una classe.

Sintaxi

 class ClassName: #statement_suite 

A Python, hem de notar que cada classe està associada a una cadena de documentació a la qual es pot accedir mitjançant l'ús .__doc__. Una classe conté un conjunt d'instruccions que inclou camps, definició de constructor, funció, etc.

Exemple:

Codi:

 class Person: def __init__(self, name, age): # This is the constructor method that is called when creating a new Person object # It takes two parameters, name and age, and initializes them as attributes of the object self.name = name self.age = age def greet(self): # This is a method of the Person class that prints a greeting message print('Hello, my name is ' + self.name) 

El nom i l'edat són les dues propietats de la classe Persona. A més, té una funció anomenada salutació que imprimeix una salutació.

Objectes en Python:

Un objecte és una instància particular d'una classe amb característiques i funcions úniques. Després d'haver establert una classe, podeu crear objectes basats en ella. Mitjançant l'ús del constructor de classes, podeu crear un objecte d'una classe en Python. Els atributs de l'objecte s'inicien al constructor, que és un procediment especial amb el nom __init__.

Sintaxi:

 # Declare an object of a class object_name = Class_Name(arguments) 

Exemple:

Codi:

 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print('Hello, my name is ' + self.name) # Create a new instance of the Person class and assign it to the variable person1 person1 = Person('Ayan', 25) person1.greet() 

Sortida:

 'Hello, my name is Ayan' 

L'autoparàmetre

L'autoparàmetre fa referència a la instància actual de la classe i accedeix a les variables de classe. Podem utilitzar qualsevol cosa en lloc de self, però ha de ser el primer paràmetre de qualsevol funció que pertanyi a la classe.

mètode _ _init_ _

Per tal de fer una instància d'una classe en Python, s'anomena una funció específica anomenada __init__. Tot i que s'utilitza per establir els atributs de l'objecte, sovint es coneix com a constructor.

conté python

L'autoargument és l'únic que requereix el mètode __init__. Aquest argument fa referència a la nova instància generada de la classe. Per inicialitzar els valors de cada atribut associat amb els objectes, podeu declarar arguments addicionals amb el mètode __init__.

Variables de classe i instància

Totes les instàncies d'una classe intercanvien variables de classe. Funcionen independentment de qualsevol mètode de classe i es pot accedir mitjançant l'ús del nom de classe. Aquí teniu una il·lustració:

Codi:

 class Person: count = 0 # This is a class variable def __init__(self, name, age): self.name = name # This is an instance variable self.age = age Person.count += 1 # Accessing the class variable using the name of the class person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(Person.count) 

Sortida:

 2 

Mentre que, les variables d'instància són específiques de cada instància d'una classe. S'especifiquen mitjançant l'autoargument del mètode __init__. Aquí teniu una il·lustració:

Codi:

 class Person: def __init__(self, name, age): self.name = name # This is an instance variable self.age = age person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(person1.name) print(person2.age) 

Sortida:

 Ayan 30 

Les variables de classe es creen per separat de qualsevol mètode de classe i són compartides per totes les còpies de classe. Cada instància d'una classe té les seves pròpies variables d'instància, que s'especifiquen al mètode __init__ utilitzant l'autoargument.

Conclusió:

En conclusió, les classes i les nocions d'objectes de Python són idees fortes que us permeten escriure programes reutilitzables. Podeu combinar informació i capacitats en una sola entitat que es pugui utilitzar per construir molts objectes establint una classe. Utilitzant la notació de punts, podeu accedir als mètodes i propietats d'un objecte després d'haver-lo creat. Podeu desenvolupar un codi més lògic, eficaç i manejable comprenent les classes i els objectes de Python.