[go: up one dir, main page]

0% encontró este documento útil (0 votos)
119 vistas5 páginas

Clases, Objetos y Bucles en Python

El documento explica los conceptos básicos de clases y objetos en Python. Las clases definen nuevos tipos de datos mientras que los objetos son instancias de una clase. Las clases contienen atributos y métodos, donde los atributos son propiedades de la clase y los métodos son funciones asociadas a la clase.

Cargado por

Rafael Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
119 vistas5 páginas

Clases, Objetos y Bucles en Python

El documento explica los conceptos básicos de clases y objetos en Python. Las clases definen nuevos tipos de datos mientras que los objetos son instancias de una clase. Las clases contienen atributos y métodos, donde los atributos son propiedades de la clase y los métodos son funciones asociadas a la clase.

Cargado por

Rafael Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Clases y Objetos

Como he mencionado anteriormente, las clases y los objetos sirven para crear tu propio tipo
de datos (es decir, tipos de datos definidos por el usuario). Una clase es un tipo de dato
definido por el usuario, y la crear instancias de una clase hace relación a la creación de
objetos de ese tipo. Las clases y los objetos son considerados los principales bloques de
desarrollo para Python, el cual es un lenguaje de programación orientado a objetos.

¿Cómo crearíamos una clase en Python? La estructura de clase más simple en Python
luciría de la siguiente manera:

class ClassName:
    statements

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:

jorge =  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.

Podemos identificar de qué clase es jorge, y qué espacio ocupa en la memoria escribiendo:
print jorge. En ese caso, obtendrás algo similar a:

< __main__.Person instance at 0x109a1cb48 >

Atributos

Los atributos son como propiedades que queremos añadir a la clase (tipo). Por ejemplo,
para nuestra clase Person, vamos a añadir dos atributos: name y school, tal que así:
class Person:
    name = ''
    school = ''

Ahora, vamos a crear un nuevo objeto del tipo Person con más detalle, completando estos
atributos que acabamos de añadir:

jorge = Person()
abder.name = 'Jorge'
abder.school = 'Universidad de la vida'

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
     
jorge = Person()
jorge.name = 'Jorge'
jorge.school = 'Universidad de la vida'
jorge.print_name()
jorge.print_school()

He mencionado anteriormente que los métodos son como funciones. Sin embargo, la
principal diferencia es que los métodos necesitan tener un argumento convenientemente
llamado self, que se refiere al objeto del método que está siendo llamado (es decir jorge).
Date cuenta que en una llamada al método, no necesitamos pasar self como un argumento,
Python se encargará de eso por nosotros.

Si no ponemos self como argumento en print_name(), Python arrojará un error tal que así:

Traceback (most recent call last):


  File "test.py", line 14, in
    jorge.print_name()
TypeError: print_name() takes no arguments (1 given)

Por supuesto, puedes pasar más de un argumento al método. 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
             
jorge = Person()
jorge.name = 'Jorge'
jorge.school = 'Universidad de la vida'
jorge.print_information(jorge.name, jorge.school)

Prueba y ejecuta el programa, ¿has obtenido el mismo resultado que en el ejemplo de antes?

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

Vamos a modificar el programa anterior para utilizar el inicializador. En este caso, el


programa se verá como sigue:

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
     
jorge = Person('Jorge', 'Universidad de la vida')
 
jorge.print_name()
jorge.print_school()

Observa que el inicializador necesita dos argumentos. Por ejemplo, si no incluimos el


argumento n en el inicializador, obtendremos el siguiente error:

Traceback (most recent call last):


  File "test.py", line 12, in < module >
    jorge = Person('Jorge', 'Universidad de la vida')
TypeError: __init__() takes exactly 2 arguments (3 given)
Resumiendo, con las clases serás capaz de crear tus propios tipos de datos, y con los objetos
serás capaz de crear instancias de estos tipos de datos. Las clases también se componen de
atributos (propiedades) y métodos que son acciones que realizamos en dichos atributos.

For

for variable in elemento iterable (lista, cadena, range, etc.):


cuerpo del bucle

print("Comienzo")
for i in [0, 1, 2]:
print("Hola ", end="")
print()
print("Final")

print("Comienzo")
for i in [1, 1, 1]:
print("Hola ", end="")
print()
print("Final")

print("Comienzo")
for _ in [0, 1, 2]:
print("Hola ", end="")
print()
print("Final")

print("Comienzo")
for i in [3, 4, 5]:
print(f"Hola. Ahora i vale {i} y su cuadrado {i ** 2}")
print("Final")

print("Comienzo")
for i in ["Alba", "Benito", 27]:
print(f"Hola. Ahora i vale {i}")
print("Final")

print("Comienzo")
for numero in [0, 1, 2, 3]:
print(f"{numero} * {numero} = {numero ** 2}")
print("Final")

for i in "AMIGO":
print(f"Dame una {i}")
print("¡AMIGO!")

print("Comienzo")
for i in range(3):
print("Hola ", end="")
print()
print("Final")
print("Comienzo")
for i in range(10):
print("Hola ", end="")
print()
print("Final")

veces = int(input("¿Cuántas veces quiere que le salude? "))


for i in range(veces):
print("Hola ", end="")
print()
print("Adiós")

Ejemplo de contador
print("Comienzo")
cuenta = 0
for i in range(1, 6):
if i % 2 == 0:
cuenta = cuenta + 1
print(f"Desde 1 hasta 5 hay {cuenta} múltiplos de 2")

Ejemplo de acumulador

print("Comienzo")
suma = 0
for i in [1, 2, 3, 4]:
suma = suma + i
print(f"La suma de los números de 1 a 4 es {suma}")

Shell = concha

También podría gustarte