CLASES.
Las clases proveen una forma de empaquetar datos y funcionalidad juntos. Al crear una nueva clase, se crea un nuevo tipo de objeto, permitiendo crear nuevas instancias de ese tipo. Cada instancia de clase puede tener atributos adjuntos para mantener su estado. Las instancias de clase también pueden tener métodos (definidos por su clase) para modificar su estado.Comparado con otros lenguajes de programación, el mecanismo de clases de Python agrega clases con un mínimo de nuevas sintaxis y semánticas. Es una mezcla de los mecanismos de clases encontrados en C++ y Modula-3. Las clases de Python proveen todas las características normales de la Programación Orientada a Objetos: el mecanismo de la herencia de clases permite múltiples clases base, una clase derivada puede sobre escribir cualquier método de su(s) clase(s) base, y un método puede llamar al método de la clase base con el mismo nombre. Los objetos pueden tener una cantidad arbitraria de datos de cualquier tipo. Igual que con los módulos, las clases participan de la naturaleza dinámica de Python: se crean en tiempo de ejecución, y pueden modificarse luego de la creación.
La estructura de clase más simple en Python luciría de la siguiente manera:
class ClassName:
Como puedes ver, la definición de una clase comienza con la palabra clave class, y className sería el nombre de la clase (identificador). Ten en cuenta que el nombre de la clase sigue las mismas reglas que los nombres de variables en Python, es decir, sólo pueden comenzar con una letra o un subrayado _, y sólo pueden contener letras, números o guiones bajos. Además, según PEP 8 (Guía de estilo para la programación en Python), se recomienda que los nombres de las clases estén capitalizadas.
Ahora vamos a definir una clase Person (persona), que por el momento no contendrá nada, excepto la declaración de pass. Según la documentación de Python:
La sentencia pass no hace nada. Puede ser utilizada cuando se requiere una sentencia sintácticamente pero programa no requiere acción alguna.
class Person: pass
Para crear una instancia (objeto) de esta clase, simplemente haremos lo siguiente:
A = Person()
Esto significa que hemos creado un nuevo objeto jorge del tipo Person. Date cuenta que para crear un objeto solo debemos escribir el nombre de la clase, seguido de unos paréntesis.
Atributos
class Person: name = '' school = ''
A = Person() abder.name = 'Adamary' abder.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS'
Métodos
Los métodos son cómo funciones en Python, ya que se definen con la palabra clave def y cuentan con el mismo formato que las funciones. En nuestra clase, vamos a definir un método que imprima el nombre (name) y la escuela (school) de una persona (Person). La clase se verá de la siguiente manera:
class Person: name = '' school = '' def print_name(self): print self.name def print_school(self): print self.school A = Person() A.name = 'Adamary' A.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS' A.print_name() A.print_school()
Vamos a hacer el proceso de imprimir el nombre y la escuela en un solo método, tal que así:
class Person: name = '' school = '' def print_information(self, name, school): print self.name print self.school A = Person() A.name = 'Adamary' A.school = 'INSTITUTO TECNOLOGICO DE MATAMOROS'
Inicialización
En la sección anterior, hemos inicializado name y school, dándoles un valor vacío ''. Pero hay una forma más elegante de inicializar variables con sus valores predeterminados. El inicializador es un método especial, con nombre __init__ (el método se considera especial y será tratado de forma especial, es por eso que tiene subrayados dobles al principio y al final).
class Person: def __init__(self, n, s): self.name = n self.school = s def print_name(self): print self.name def print_school(self): print self.school A = Person('Adamary', 'INSTITUTO TECNOLOGICO DE MATAMOROS') A.print_name() A.print_school()
No hay comentarios:
Publicar un comentario