logo

Clases y objetos en Python

Python es un lenguaje de programación orientado a objetos que ofrece clases, que son una potente herramienta para escribir código reutilizable. Para describir objetos con características y comportamientos compartidos, se utilizan clases. Examinaremos las ideas de clases y objetos de Python en este artículo.

¿Qué es la agrupación?

Clases en Python:

En Python, una clase es un tipo de datos definido por el usuario que contiene tanto los datos en sí como los métodos que pueden usarse para manipularlos. En cierto sentido, las clases sirven como plantilla para crear objetos. Proporcionan las características y operaciones que emplearán los objetos.

Supongamos que una clase es un prototipo de un edificio. Un edificio contiene todos los detalles sobre el piso, habitaciones, puertas, ventanas, etc. Podemos hacer tantos edificios como queramos, en base a estos detalles. Por lo tanto, el edificio puede verse como una clase y podemos crear tantos objetos de esta clase como desee.

Creando clases en Python

En Python, se puede crear una clase usando la palabra clave class, seguida del nombre de la clase. La sintaxis para crear una clase se proporciona a continuación.

Sintaxis

 class ClassName: #statement_suite 

En Python, debemos notar que cada clase está asociada con una cadena de documentación a la que se puede acceder usando .__doc__. Una clase contiene un conjunto de declaraciones que incluyen definiciones de campos, constructores, funciones, etc.

Ejemplo:

Código:

 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) 

Nombre y edad son las dos propiedades de la clase Persona. Además, tiene una función llamada saludar que imprime un saludo.

Objetos en Python:

Un objeto es una instancia particular de una clase con características y funciones únicas. Una vez establecida una clase, puedes crear objetos basados ​​en ella. Al utilizar el constructor de clases, puede crear un objeto de una clase en Python. Los atributos del objeto se inicializan en el constructor, que es un procedimiento especial con el nombre __init__.

Sintaxis:

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

Ejemplo:

Código:

 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() 

Producción:

 'Hello, my name is Ayan' 

El autoparámetro

El autoparámetro se refiere a la instancia actual de la clase y accede a las variables de la clase. Podemos usar cualquier cosa en lugar de self, pero debe ser el primer parámetro de cualquier función que pertenezca a la clase.

_ _init_ _ método

Para crear una instancia de una clase en Python, se llama a una función específica llamada __init__. Aunque se utiliza para establecer los atributos del objeto, a menudo se le denomina constructor.

El argumento propio es el único que requiere el método __init__. Este argumento se refiere a la instancia recién generada de la clase. Para inicializar los valores de cada atributo asociado con los objetos, puede declarar argumentos adicionales en el método __init__.

Variables de clase e instancia

Todas las instancias de una clase intercambian variables de clase. Funcionan independientemente de cualquier método de clase y se puede acceder a ellos mediante el uso del nombre de la clase. Aquí hay una ilustración:

Código:

 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) 

Producción:

 2 

Mientras que las variables de instancia son específicas de cada instancia de una clase. Se especifican utilizando el argumento propio en el método __init__. Aquí hay una ilustración:

Código:

 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) 

Producción:

 Ayan 30 

Las variables de clase se crean por separado de cualquier método de clase y son compartidas por todas las copias de la clase. Cada instancia de una clase tiene sus propias variables de instancia, que se especifican en el método __init__ utilizando el argumento propio.

Conclusión:

En conclusión, las nociones de clases y objetos de Python son ideas sólidas que le permiten escribir programas reutilizables. Puede combinar información y capacidades en una sola entidad que puede usarse para construir muchos objetos estableciendo una clase. Usando la notación de puntos, puede acceder a los métodos y propiedades de un objeto después de haber sido creado. Puede desarrollar código más lógico, eficaz y manejable si comprende las clases y objetos de Python.