Métodos
Los métodos describen el comportamiento de los objetos de una clase. Estos representan las operaciones que se pueden realizar con los objetos de la clase,
La ejecución de un método puede conducir a cambiar el estado del objeto.
Se definen de la misma forma que las funciones normales pero deben declararse dentro de la clase y su primer argumento siempre referencia a la instancia que la llama, de esta forma se afirma que los métodos son funciones, adjuntadas a objectos.
Si el objeto es Persona, los métodos pueden ser: hablar, caminar, comer, dormir, etc.
classPersona:"""Clase que representa una Persona"""
cedula = "V-13458796"
nombre = "Leonardo"
apellido = "Caballero"
sexo = "M"defhablar(self, mensaje):"""Mostrar mensaje de saludo de Persona"""return mensaje
La única diferencia sintáctica entre la definición de un método y la definición de una función es que el primer parámetro del método por convención debe ser el nombre self.
Ámbito de los métodos
Los métodos cuentan con un espacio de nombres propio. En caso de no encontrar un nombre en su ámbito local, buscará en el ámbito superior hasta encontrar alguna coincidencia.
Los métodos pueden acceder y crear atributos dentro del objeto al que pertenecen, anteponiendo la palabra self y el operador de atributo ”.” antes del nombre del atributo en cuestión.
Métodos especiales
Las clases en Python cuentan con múltiples métodos especiales, los cuales se encuentran entre dobles guiones bajos <metodo>().
Los métodos especiales más utilizados son init(), str() y del().
** Instancias**
Ya sabe que una clase es una estructura general del objeto. Por ejemplo, puede decir que la clase Persona necesita tener una cedula, un nombre, un apellido y una sexo, pero no va a decir cual es cedula, nombre, apellido y sexo, es aquí donde entran las instancias.
Una instancia es una copia específica de la clase con todo su contenido. Por ejemplo:
>>> persona1 = Persona("V-13458796", "Leonardo", "Caballero", "M")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>TypeError: this constructor takes no arguments
La excepción TypeError indica que el método constructor no toma argumentos, esto se debe a que la momento de definir la clase a cada atributo se le asigno un valor (tipo de dato).
Usted puede definir el metodo constructor de la clase usando el método init().
Método init()
El método init() es un método especial, el cual se ejecuta al momento de instanciar un objeto. El comportamiento de init() es muy similar a los “constructores” en otros lenguajes. Los argumentos que se utilizan en la definición de init() corresponden a los parámetros que se deben ingresar al instanciar un objeto.
def__init__(self, cedula, nombre, apellido, sexo):"""Constructor de clase Persona"""
self.cedula = cedula
self.nombre = nombre
self.apellido = apellido
self.sexo = sexo