Clases y objetos de Python. Parte 9 Curso de Python de principiante a avanzado en 11 publicaciones de blog

Publicado: 2022-01-25

Este artículo ayudará al lector a comprender las clases básicas de Python junto con algunas aplicaciones básicas en el mundo real. Usaremos Visual Studio Code como nuestro editor de código. Si no ha instalado Visual Studio Code, las instrucciones se encuentran en el primer blog.

Clases y objetos de Python – tabla de contenido:

  1. Clases de Python
  2. Clases de Python – definición
  3. Inicialización de clases de Python
  4. Escribamos nuestra primera clase de Python
  5. Atributos
  6. comportamiento de la clase
  7. Objetos en Python
  8. Herencia

Clases de Python

Como hemos comentado en el primer blog, Python es un lenguaje de programación orientado a objetos. Hay tres frases que son muy importantes cuando se habla de programación orientada a objetos en Python. El primero es la clase, el segundo sería un objeto, el tercero sería la herencia. Comencemos con lo que es una clase.

Clases de Python – definición

Una clase es un modelo o un programa extensible que ayuda en la creación de objetos. Una clase consta de comportamiento y estado. El comportamiento de una clase se demuestra a través de funciones dentro de la clase que se denominan métodos. El estado de la clase se demuestra utilizando las variables dentro de la clase que se denominan atributos.

Inicialización de clases de Python

Una clase se puede inicializar usando la siguiente sintaxis.

Una clase en python se define usando la palabra clave "clase" después del nombre de la clase. La sintaxis básica de la función de Python se ilustra a continuación.

Por ejemplo:

<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" />
# Create a function
# class Monkey
class classname:

Nota: el nombre de la clase también tiene las mismas normas que la declaración de la variable.

Escribamos nuestra primera clase de Python

# first class
 
class Animals:
	pass
 

En el bloque de código anterior, hemos escrito una clase que desarrollaremos más adelante en el blog. Como puede ver, hemos utilizado la palabra clave "clase".

Veamos ahora, cómo agregar componentes a la clase del animal. Pero antes de eso, aprendamos sobre el constructor “__init__()”. Los constructores se utilizan para la creación de instancias de objetos. Aquí, __init__() se usa para la creación de instancias de objetos. El constructor puede ser predeterminado con solo uno mismo como argumento o parametrizado con los argumentos requeridos.

Atributos

Hay dos tipos diferentes de atributos, los primeros son variables de clase y los segundos son variables de instancia. Las variables de clase son las variables que son propiedad de la clase. Además, estas variables están disponibles para todas las instancias de la clase. Por lo tanto, su valor no cambiará incluso si cambia la instancia.

# class variables
 
class Animals:
	type=”mammals”

Las variables de instancia son las variables que pertenecen a las propias instancias. Por lo tanto, cambiarán su valor a medida que cambie la instancia.

# class variables
 
class Animals:
	def __init__(self,legs):
		self.legs=legs
		

Nota: Las variables de instancia no están disponibles para acceder usando el nombre de la clase, porque cambian según el objeto que accede a ellas.

Hagamos un programa que tenga declaradas variables de clase y de instancia.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
 
	

En el programa anterior, hemos utilizado variables de instancia y de clase. Entonces, estas variables forman atributos de la clase.

comportamiento de la clase

Como se discutió, el comportamiento de la clase está definido por los métodos dentro de la clase. Pero antes de entrar en la discusión sobre el comportamiento, tenemos que comenzar a discutir el parámetro "self", que usamos en __init__().

Uno mismo:

En un término muy simple, cada vez que agregamos algo a self, dice que la variable o función pertenece a esa clase. Además, con “self” se puede acceder a los atributos o métodos de la clase.

Métodos:

Los métodos de clase son funciones dentro de la clase que tendrán su primer argumento como "self". Un método dentro de la clase se define usando la palabra clave "def".

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 

En el método anterior "ladrar", como estamos usando la variable de nombre, que es una variable de instancia, estamos accediendo a ella usando "self" y esta función imprimiría "guau guau!!!", solo si el nombre proporcionado a la objeto, es perro.

Hemos discutido la mayoría de los componentes de una clase, pero es posible que esté pensando en cómo ver si la clase está funcionando. La respuesta a esto es que, a menos que creemos un objeto de la clase, no podremos ver lo que está haciendo la clase. Ahora, definamos y creemos un objeto de la clase.

Objetos en Python

Un objeto es una instancia de la clase. Una clase es solo un modelo, pero el objeto es una instancia de la clase que tiene valores reales.

El código para definir o crear un objeto se ilustra a continuación.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
 

Para crear un objeto, la sintaxis es objectname=classname(argumentos). Por lo tanto, aquí estamos dando el nombre del animal para que sea perro y el número de patas para que sea 4. Ahora, se crea el objeto de la clase, el siguiente paso es usar el objeto para acceder a sus atributos. Para acceder a los atributos de una clase usando el objeto, recuerde que solo se puede acceder a las variables de instancia usando el objeto. Las variables de instancia en nuestra clase son nombre y piernas.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
 

Como podemos ver, podemos acceder a las variables de instancia usando la notación de puntos.

Exploremos la salida.

#Output
 
dog
4
 

Para acceder a las funciones dentro de la clase o los métodos, usaremos la notación de puntos. El ejemplo se ilustra a continuación.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
print(dog.bark())
#Output
 
dog
4
woof woof!!!

En el ejemplo anterior, podemos ver que estamos accediendo al método de clase "ladrar" usando el objeto perro que creamos. Podemos ver que no estamos usando el parámetro "self" en los argumentos de la función. Esto se debe a que no requerimos el uso de "self" fuera de la clase, ya que el objeto en sí mismo actúa como self.

Herencia

La herencia es un proceso a través del cual los atributos y métodos de la clase se pueden pasar a una clase secundaria. La clase de donde hereda la clase secundaria es la clase principal. La sintaxis de la herencia se ilustra a continuación.

#Inheritance
 
class parent:
 
class child(parent):
 

En la ilustración anterior, podemos ver que para la sintaxis de herencia estamos colocando el nombre de la clase principal como argumento para la clase secundaria. Usemos la clase Animales y hagamos una clase secundaria llamada perro. Esto se ilustra a continuación.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed

En el código de ejemplo anterior, creamos una clase de perro que amplía la clase de animales que creamos antes. También estamos usando los parámetros de Animals usando Animals.__init__(argumentos) que tiene nombre y patas que se heredarán a la clase de perro. Luego estamos creando un atributo de instancia para la clase de perro que es raza.

Ahora hagamos un objeto para la clase de perro y acceda a los atributos y métodos de la clase de animales.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed
 
 
pug=Dog("dog",4,"pug")
pug.breed
pug.name
pug.legs
pug.bark()
#Output
 
pug
dog
4
woof woof!!!

Como podemos ver en la salida, el objeto de la clase secundaria accede a los atributos y métodos de la clase principal.

En este blog, hemos cubierto algunos conceptos básicos de las clases en Python. En la próxima publicación del blog, cubriremos el tema del manejo de archivos.

python_classes

También te puede interesar nuestro Curso de JavaScript de Principiante a Avanzado.

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

Autor: Robert Whitney

Experto en JavaScript e instructor que entrena a los departamentos de TI. Su objetivo principal es aumentar la productividad del equipo enseñando a otros cómo cooperar de manera efectiva mientras codifican.

Curso de Python de principiante a avanzado en 11 publicaciones de blog:

  1. Curso de Introducción a Python. Parte 1 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  2. Variables y tipos de datos en Python. Parte 2 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  3. Python tuplas, listas, conjuntos y diccionarios. Parte 3 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  4. Conjuntos y diccionarios de Python. Parte 4 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  5. Declaraciones condicionales en Python. Parte 5 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  6. Bucles en Python. Parte 6 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  7. Funciones de Python. Parte 7 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  8. Funciones avanzadas en Python. Parte 8 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  9. Clases y objetos de Python. Parte 9 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  10. Archivos en Python. Parte 10 Curso de Python de principiante a avanzado en 11 publicaciones de blog
  11. Aplicaciones de Python en la práctica. Parte 11 Curso de Python de principiante a avanzado en 11 publicaciones de blog