Objetos y clases de Python
Clases/Objetos de Python
Python es un lenguaje de programación orientado a objetos.
Casi todo en Python es un objeto, con sus propiedades y métodos.
Una clase es como un constructor de objetos o un "modelo" para crear objetos.
Crear una clase
Para crear una clase, utilice la palabra clave class
:
Ejemplo
Cree una clase llamada MyClass, con una propiedad llamada x:
class MyClass:
x = 5
Crear objeto
Ahora podemos usar la clase llamada MyClass para crear objetos:
Ejemplo
Cree un objeto llamado p1 e imprima el valor de x:
p1 = MyClass()
print(p1.x)
La función __init__()
Los ejemplos anteriores son clases y objetos en su forma más simple y no son realmente útiles en aplicaciones de la vida real.
Para comprender el significado de las clases, debemos comprender la función __init__() incorporada.
Todas las clases tienen una función llamada __init__(), que siempre se ejecuta cuando se inicia la clase.
Use la función __init__() para asignar valores a las propiedades del objeto u otras operaciones que sean necesarias cuando se crea el objeto:
Ejemplo
Cree una clase llamada Persona, use la función __init__() para asignar valores para el nombre y la edad:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
Nota: La __init__()
función se llama automáticamente cada vez que la clase se usa para crear un nuevo objeto.
Métodos de objetos
Los objetos también pueden contener métodos. Los métodos en los objetos son funciones que pertenecen al objeto.
Vamos a crear un método en la clase Person:
Ejemplo
Inserte una función que imprima un saludo y ejecútela en el objeto p1:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
Nota: El self
parámetro es una referencia a la instancia actual de la clase y se utiliza para acceder a las variables que pertenecen a la clase.
El auto parámetro
El self
parámetro es una referencia a la instancia actual de la clase y se utiliza para acceder a las variables que pertenecen a la clase.
No tiene que ser nombrado self
, puedes llamarlo como quieras, pero tiene que ser el primer parámetro de cualquier función en la clase:
Ejemplo
Usa las palabras mysillyobject y abc en lugar de self :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Modificar propiedades de objetos
Puede modificar propiedades en objetos como este:
Ejemplo
Establezca la edad de p1 en 40:
p1.age = 40
Eliminar propiedades de objeto
Puede eliminar propiedades en objetos usando la
del
palabra clave:
Ejemplo
Elimine la propiedad de edad del objeto p1:
del p1.age
Eliminar objetos
Puede eliminar objetos utilizando la del
palabra clave:
Ejemplo
Eliminar el objeto p1:
del p1
La declaración de pase
class
las definiciones no pueden estar vacías, pero si por algún motivo tiene una class
definición sin contenido, introdúzcala en la pass
declaración para evitar que se produzca un error.
Ejemplo
class Person:
pass