0% encontró este documento útil (0 votos)
19 vistas21 páginas

UNIDAD - 1 - 1 - Python

El documento aborda las sentencias condicionales y la estructura de clases en Python, destacando la importancia de la toma de decisiones en la programación. Se explican las sentencias if, elif, else y for, así como la creación y uso de clases y objetos en programación orientada a objetos. Además, se menciona la instanciación de clases y el uso del método especial __init__ para inicializar objetos.

Cargado por

paulina garcia
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas21 páginas

UNIDAD - 1 - 1 - Python

El documento aborda las sentencias condicionales y la estructura de clases en Python, destacando la importancia de la toma de decisiones en la programación. Se explican las sentencias if, elif, else y for, así como la creación y uso de clases y objetos en programación orientada a objetos. Además, se menciona la instanciación de clases y el uso del método especial __init__ para inicializar objetos.

Cargado por

paulina garcia
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 PDF, TXT o lee en línea desde Scribd

• Sentencias condicionales

• Estructura de una clase


Haremos un repaso general por los
comandos y las sentencias de
control del lenguaje Phyton y la
estructura de una clase.
01 Sentencias Condicionales

02 Estructura de una clase


La vida se basa en tomar las decisiones correctas, y nuestros
programas no están exentos de ello. En cierto modo, el fin de todo
esto es programar algo para algunos aspectos de nuestras vidas.
Por lo tanto, es lógico que tarde o temprano tenemos que hacer
frente al tema de la toma de decisiones en nuestros programas.
Aquí es donde las sentencias condicionales entran en juego. Nos
ayudan a controlar esa toma de decisiones utilizando la lógica en
nuestros programas. Las sentencias condicionales en Python son: if,
elif y else.
Tal vez el tipo más conocido de sentencia sea el if.
Por ejemplo:

>>> x = int(input("Ingresa un entero, por favor: "))


Ingresa un entero, por favor: 42
>>> if x < 0:
... x = 0
... elif x == 0:
... print('Negativo cambiado a cero')
... print('Cero')
... elif x == 1:
... print('Simple')
if ... else:
... print('Más')

'Mas'
La sentencia for en Python difiere un poco de lo que uno puede estar
acostumbrado en lenguajes como C o Pascal. En lugar de siempre iterar
sobre una progresión aritmética de números (como en Pascal) o darle al
usuario la posibilidad de definir tanto el paso de la iteración como la
condición de fin (como en C), la sentencia for de Python itera sobre los
ítems de cualquier secuencia (una lista o una cadena de texto), en el orden
que aparecen en la secuencia.
Por ejemplo:

>>> # Midiendo cadenas de texto


... palabras = ['gato', 'ventana', 'defenestrado']
>>> for p in palabras:
... print(p, len(p))
for ...
gato 4
ventana 7
defenestrado 12
Si se necesita iterar sobre una secuencia de números, es apropiado utilizar
la función integrada range(), la cual genera progresiones aritméticas.
Por ejemplo:

>>> for i in range(5):


... print(i)
...
0
1
2
3
4
range
La sentencia break, como en C, termina el lazo for o while más anidado.

Las sentencias de lazo pueden tener una cláusula else que es ejecutada
cuando el lazo termina, luego de agotar la lista (con for) o cuando la
condición se hace falsa (con while), pero no cuando el lazo es terminado
con la sentencia break.
Se ejemplifica en el siguiente lazo, que busca números primos:

for n in range(2, 10):


for x in range(2, n):
if n % x == 0:
print(n, 'es igual a', x, '*', n/x)
break break
else:
# sigue el bucle sin encontrar un factor
print(n, 'es un numero primo')
... """Escribe la serie de Fibonacci hasta n."""
... a, b = 0, 1
... while a < n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
>>> # Ahora llamamos a la funcion que acabamos de definir:
Funciones
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
... """Devuelve una lista conteniendo la serie de Fibonacci hasta n."""
... result = []
... a, b = 0, 1
... while a < n:
... result.append(a) # ver abajo
... a, b = b, a+b
... return result
...
Funciones >>> f100 = fib2(100) # llamarla
>>> f100 # escribir el resultado
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
Entenderemos el concepto de clase, del que nos colgaremos para
desarrollar la programación orientada a objetos.
Debemos aprender a pensar en términos de programación orientada a
objetos que es algo diferente a la programación estructurada con la
que se aprende a programar en Python.

Podemos definir una clase vagamente como una Plantilla o


modelo para crear a partir de ella ciertos Objetos. Esta plantilla es la
que contiene la información; características y capacidades que
tendrá el objeto que sea creado a partir de ella.
Así a su vez los objetos creados a partir de ella estarán agrupados
en esa misma clase.

Clases
Imagina que tienes una regla de esas con moldes para crear figuras
geométricas perfectas. Pues algo así seria una clase; tu puedes crear
esa regla y definir en ella las características de cada figura que seria
un objeto.
Crear un objeto a partir de una clase se denomina instanciar.

Clases
cuando pensamos en objetos pensamos en entidades que tienen
un comportamiento; un estado; almacenan información y
pueden realizar tareas. Refiriéndonos a comportamiento como
acciones o capacidades de realizar cambios; y a estados como
situación o modo de estar en un momento determinado.

Pero hay algo que debes saber también de los objetos. No


necesariamente todos deben derivar de una clase; pueden existir
objetos sin que hallan sido creados de una clase en particular. Y en
Python o Java casi todo es un objeto; puesto que el concepto de la
programación orientada a objetos consiste en resolver problemas
grandes subdividiendo nuestro programa en otros más pequeños a
cargo de objetos con determinadas características y tareas
Objeto encomendadas.
Es así entonces que podemos ver los objetos como si fueran engranajes de
nuestro programa; si habláramos más en términos de relojería podría decirse que
estos son objetos que contienen una información especifica (tamaños; apertura de
dientes; etc.) y a su vez realizan una acción determinada que resulta importante
para el funcionamiento de un sistema. Faltando uno que otro engranaje nuestro
reloj dejaría de funcionar.

Los objetos clase soportan dos tipos de operaciones: hacer referencia a atributos e
instanciación.
Para hacer referencia a atributos se usa la sintaxis estándar de todas las
referencias a atributos en Python: objeto.nombre. Los nombres de atributo válidos
son todos los nombres que estaban en el espacio de nombres de la clase cuando
ésta se creó. Por lo tanto, si la definición de la clase es así:

class MiClase:
Objeto Clase """Simple clase de ejemplo"""
i = 12345
def f(self):
return 'hola mundo'
...entonces MiClase.i y MiClase.f son referencias de atributos válidas, que
devuelven un entero y un objeto función respectivamente. Los atributos de clase
también pueden ser asignados, o sea que puedes cambiar el valor de MiClase.i
mediante asignación.
doc también es un atributo válido, que devuelve la documentación asociada a
la clase: "Simple clase de ejemplo".

class MiClase:
Objeto Clase """Simple clase de ejemplo"""
i = 12345
def f(self):
return 'hola mundo'
La instanciación de clases usa la notación de funciones. Haz de cuenta que el
objeto de clase es una función sin parámetros que devuelve una nueva instancia
de la clase.
Por ejemplo (para la clase anterior):

x = MiClase()

...crea una nueva instancia de la clase y asigna este objeto a la variable local x.

Objeto Clase
La operación de instanciación (“llamar” a un objeto clase) crea un objeto vacío.
Muchas clases necesitan crear objetos con instancias en un estado inicial
particular. Por lo tanto una clase puede definir un método especial llamado
__init (), de esta forma:

def init (self):


self.datos = []

Objeto Clase
Cuando una clase define un método init (), la instanciación de la clase
automáticamente invoca a __init () para la instancia recién creada. Entonces, en
este ejemplo, una instancia nueva e inicializada se puede obtener haciendo:

x = MiClase()

Objeto Clase
Por supuesto, el método init () puede tener argumentos para mayor flexibilidad.
En ese caso, los argumentos que se pasen al operador de instanciación de la clase
van a parar al método init (). Por ejemplo,

>>> class Complejo:


... def init (self, partereal, parteimaginaria):
... self.r = partereal
... self.i = parteimaginaria
...
Objeto Clase
>>> x = Complejo(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)

También podría gustarte