You are on page 1of 24

MODULO 1:

Clase 1:
• Introducción a la programación con Python
• Variables y Strings.
• Control de Flujo-Condicionales.
• Funciones / Funciones dinamicas

¿Qué es y para qué sirve?


Si no tienes muy claro qué es Python o qué se puede hacer
con él, te lo contamos. Básicamente, se trata de
un lenguaje de programación de gran capacidad, con la
que se pueden desarrollar programas de todo tipo y
que posee múltiples ventajas y desventajas. Es de código
abierto, es decir, gratuito, por lo que las limitantes de
desarrollo de software son casi nulas.

Es un tipo de lenguaje que, además de su gran capacidad,


es muy sencillo de aprender debido a que su intención es
parecerse al lenguaje humano. Por ello, desarrollar
código en Python es como si diéramos órdenes a otro
humano para que haga una acción concreta.

Python es un lenguaje interpretado, por lo que no necesita


de ser compilado para que
pueda realizar funciones. Esto se hace a través de un
interpretador o programa generador de texto, y que a través
del mismo, se desarrolla el código que ejecuta una orden.
Python tiene diversos usos:
• Análisis de Big Data: cuando se trata de analizar
datos, y que a su vez pueden presentarse en grandes
cantidades, Python es excelente. Cuenta con todo tipo
de bibliotecas de procesamiento que le permiten
analizar una gran cantidad de datos y en tiempo real.
• Data science: gracias a su uso de análisis de Big
Data, este también es utilizado por científicos a la hora
de estudiar una gran cantidad de datos imposible de
hacer por cuenta propia.
• IA: Python es bien conocido por ser un lenguaje de
programación que permite el desarrollo de Inteligencia
Artificial de gran eficacia. Permitiendo así, el avance
de esta tecnología que hace de nuestra vida algo más
sencillo.
• Videojuegos: este lenguaje cuenta con herramientas
que permiten la manipulación y creación de gráficos
3D. Esto permite trabajar con gráficos o desarrollar
videojuegos interactivos.
• Machine learning: otro de los usos más comunes del
Python, o donde resalta su potencial, es en el Machine
Learning. Permite otorgar no solo inteligencia a las
máquinas o robots, sino que los dota de capacidad de
aprender por medio de la experiencia, pudiendo
realizar nuevas tareas con el paso del tiempo.
• Desarrollo web: el desarrollo de aplicaciones o sitios
web es también uno de los fuertes de Python,
pudiendo crearlas con un sistema estable y eficiente
en cuanto a funcionalidades.
Antes de empezar debemos instalar un editor de
código, como visual studio, pycharm o el que sea de
tu preferencia, aquí los links de los mencionados:
https://code.visualstudio.com/
https://www.jetbrains.com/pycharm/download/#sectio
n=windows

Por otro lado vamos a necesitar instalar Python para


poder trabajar con sus comandos
Aquí el link para descargarlo:
https://www.python.org/downloads/

Cuando estén instalando Python deben darle


check a la casilla del path y luego continuar la
instalacion
NUESTRA PRIMERA INSTRUCCIÓN:
PRINT()
Declaración que al ejecutarse muestra por pantalla el
argumento que se introduce dentro de los paréntesis
Podemos mostrar texto:
print(“Hola mundo”)

Hola mundo

Podemos mostrar números:


print(200+25)

225

Variables
Puedes pensar en variables como palabras que almacenan
un valor. Así de simple.

En Python, es muy fácil definir una variable y establecer un


valor para ella. Imagina que deseas almacenar el número 1
en una variable llamada "uno"."

uno = 1

O quizás podemos asignar las siguientes variables

dos = 2

algunos_numeros = 10000
Y puedes asignar cualquier otro valor a cualquier
otra variables que desees. Como puedes ver en la tabla
anterior, la variable "dos" almacena el entero 2, y
"algunos_numeros" almacena 10000.

Además de enteros, también podemos usar booleanos


(True / False), cadenas, números no enteros y muchos
otros tipos de datos.

# booleanos

verdadero_booleano = True

falso_booleano = False

# cadena

mi_nombre = "Raul Perez"

# float (no entero)

precio_de_libro = 15.80

¿Qué es un string?
En resumen, un string es una cadena formada por una
secuencia de caracteres individuales. Este tipo de
strings existen en la mayoría de los lenguajes de
programación web; se encuentran entre los tipos de datos
que, por lo general, probablemente se utilizan con mayor
frecuencia. Muy probablemente necesitarás crear y usar
strings, bien sea al seguir un tutorial de Python, al
construir bucles if else de Python, bucles while de
Python, bucles for de Python, listas de Python o bien si
estás aprendiendo a usar operadores de Python. Por lo
tanto, vale la pena examinar más de cerca la estructura, la
función y el uso de las cadenas.
Estructura de un string
Un string se escribe entre comillas dobles o simples. Las
distintas notaciones no suponen ninguna diferencia. Un
sencillo string tiene el siguiente aspecto: "ejemplo" o
'ejemplo'. Para mostrar un string, utiliza la función print. La
función print tiene el siguiente aspecto:
print ("ejemplo")

print ('ejemplo')

Por lo tanto, todos los caracteres que se encuentran entre


comillas forman parte de un string en concreto.

Asignar variables
Puedes asignar una variable a un string. Especialmente en
cadenas largas, esto no solo puede ahorrar tiempo, sino
también mantener tu código limpio y evitar algunos
problemas en Python. He aquí un ejemplo:
x = "Este texto de ejemplo es muy largo, resultando en un
código significativamente más largo."

print (x)

Strings de varias líneas


Para generar y definir un string con varias líneas puedes
utilizar tres comillas simples o dobles. Los saltos de línea
también se tienen en cuenta a la hora de emitir la cadena.
Aquí puedes ver un ejemplo de ello:
x = """Este texto de ejemplo es muy largo, resultando en
un código significativamente más largo.

Continúa en una nueva línea,

se amplía con una tercera y cuarta línea

y finalmente termina con un punto y aparte."""

print (x)
El resultado correspondiente es el siguiente:
Este texto de ejemplo es muy largo, resultando en un
código significativamente más largo.

Continúa en una nueva línea,

se amplía con una tercera y cuarta línea

y finalmente termina con un punto y aparte.

Emitir caracteres individuales de un string


Utiliza corchetes para poder hacer referencia a un elemento
específico de un string. En Python son elementos todos los
caracteres individuales que se encuentran entre comillas.
Para seleccionar un elemento concreto, solo tienes que
contar su posición y hacer referencia a él. Sin embargo,
hay que tener en cuenta que en Python se empieza a
numerar a partir del 0. He aquí un ejemplo de código:
x = "Este texto de ejemplo es muy largo y resulta en un
código significativamente más largo."

print (x[3])

En este caso, el programa emitiría la cuarta letra (0, 1, 2, 3)


del string. Sería la “e” de “Este”.

Emitir strings con un bucle for


También puedes leer strings con un bucle for. Un string se
utiliza como un array en Python, por lo que, con el bucle
apropiado, se puede deletrear cualquier palabra, por
ejemplo. Este es el código correspondiente:
for x in "diente de león":

print (x)

for caracter in "diente de león":

print(caracter)
El resultado sería:
d
i
e
n
t
e
d
e
l
e
ó
n

Determinar la longitud de un string


Utiliza la función “len” para determinar la longitud de un
string. Es especialmente útil para extractos de código muy
largos. Para nuestro texto de ejemplo, el código tiene el
siguiente aspecto:
text = "Este texto de ejemplo es muy largo, resultando en
un código significativamente más largo."

print(len(text))

En este caso, el resultado para todos los caracteres sería


“89”, incluyendo los espacios y los signos de puntuación.

Comprobar los strings


Utiliza “in” para comprobar si un string contiene ciertas
letras o términos. Esta función comprueba si el término que
buscas está presente y responde con true (verdadero) o
false (falso). Funciona de la siguiente manera:
text = " Este texto de ejemplo es muy largo, resultando
en un código significativamente más largo."

print("Largo" in text)

El resultado en este caso sería un simple “true”.


Con una condición if
También puedes utilizar una condición “if” para confirmar si
se ha utilizado un término concreto. Para ello, haz uso del
siguiente código:
text = "Este texto de ejemplo es muy largo y resulta en
un código significativamente más largo."

if "largo" in text:

print (" Sí, 'largo' aparece en este extracto de


código.")

Dado que “largo” aparece en el código, se emitirá es el


siguiente resultado:
Sí, 'largo' aparece en este extracto de código.

Descartar la presencia de un término


Utiliza “not in” para asegurarte de que un término no
aparece en el Python string. Aquí tienes los dos posibles
ejemplos de código. El funcionamiento es el mismo que el
de las consultas positivas.
text = " Este texto de ejemplo es muy largo y resulta en
un código significativamente más largo."

print("corto" not in text)

text = "Este texto de ejemplo es muy largo y resulta en


un código significativamente más largo."

if "corto" not in text:

print(" No, 'corto' NO aparece en este extracto.")


Dividir strings

También es posible dividir un string. Un ejemplo sencillo de


división es el siguiente:
text = "Esto es un ejemplo"

print(text.split())

El resultado lo refleja:

["Esto", "es", "un", "ejemplo"]

Eliminar strings
Un string no puede ser modificado a posteriori. Tampoco se
pueden borrar caracteres individuales de la cadena. El
programa bloquea cualquier intento de modificación y
muestra un mensaje de error. Por lo tanto, la única opción
de eliminar strings defectuosos del código es borrándolos
por completo. Se borran mediante el comando del, que
tiene el siguiente aspecto:
text = "Este es un texto de ejemplo"

del text

Formatear cadenas
Para facilitar la concatenación de variables y texto en
Python, contamos con dos herramientas que nos evitan
manipular las variables, para incorporarlas directamente al
texto:
Función format: se encierra las posiciones de las
variables entre corchetes { }, y a continuación del string
llamamos a las variables con la función format
print("Mi casa es {} y de color {}"
.format(tamaño_casa,color))
Cadenas literales (f-strings): a partir de Python 3.8,
podemos anticipar la concatenación de variables
anteponiendo f al string
print(f"Mi auto es {tamaño_casa} y de matrícula {color}")

CONDICIONALES (CONTROL DE FLUJO)


El control de flujo determina el orden en que el código de
un programa se va ejecutando. En Python, el flujo esta
controlado por estructuras condicionales, loops y funciones.
La sintaxis básica de la sentencia if
Una sentencia if en Python esencialmente dice:
"Si la expresión evaluada, resulta ser verdadera(True),
entonces ejecuta una vez el código en la expresión. Si
sucede el caso contrario y la expresión es falsa,
entonces No ejecutes el código que sigue."
La sintaxis general para la sentencia if básica es como lo
siguiente:
if condicion:

ejecutar sentencia

Una sentencia if consiste en:


• La palabra reservada if, da inicio al condicional if.
• La siguiente parte es la condición. Esta puede evaluar
si la declaración es verdadera o falsa. En Python
estas son definidas por las palabras reservadas (True
or False).
• Paréntesis (()) Los paréntesis son opcionales, no
obstante, ayudan a mejorar la legibilidad del código
cuando más de una condición está presente.
• Dos puntos : cuya función es separar la condición de
la declaración de ejecución siguiente.
• Una nueva línea.
• Un nivel de indentación de cuatro espacios, que es
una convención en Python. El nivel de indentación es
asociado con la estructura de la declaración que
sigue.
• Finalmente, la estructura de la sentencia. Este es el
código que será ejecutado, únicamente si la sentencia
a ser evaluada es verdadera. Es posible tener
múltiples líneas en la estructura de código que pueden
ser ejecutadas; en este caso es necesario tener
cautela en cuanto a que todas las líneas tengan el
mismo nivel de indentación.
Tomemos el siguiente ejemplo:
a = 1

b = 2

if b > a:

print(" b es mayor que a")

Resultado:
b es mayor que a

En el ejemplo anterior, fueron creadas dos variables; a y b,


a las cuales se les asignaron los valores de 1 y 2,
respectivamente.
La frase en la sentencia "print", permitirá a la consola
imprimir la sentencia solo en caso de cumplirse la
condición b > a. Puesto que esta condición fue evaluada
como verdadera(True), la instrucción fue ejecutada. Si no
hubiese sido verdadera (False), la instrucción no se habría
ejecutado.
Es decir; si en cambio hubiésemos tenido:
a = 1

b = 2

if a > b

print("a es mayor que b")

La consola no hubiera ejecutado la instrucción(sin importar


cuál fuere) debido a que la condición a evaluar no es
verdadera.

¿Cómo funcionan las sentencias if..else ?


Cómo mencionamos, una sentencia if ejecuta el código,
solo en caso de cumplirse la condición especulada.
¿Pero qué sucede si queremos ejecutar el código
alternativo en caso de no cumplirse las condiciones? Es en
este caso que es necesario usar else.
La sintaxis de una sentencia if..else es parecida a la
siguiente:
if condicion:

ejecutar codigo si la condicion es True

else:

ejecutar codigo si la condicion es False


Una sentencia if..else en Python significa:
"Cuando la expresión if se evalúa como True, entonces
ejecuta el código que le sigue. Pero si se evalúa como
False, entonces ejecuta el código que sigue después de la
sentencia else ."
La sentencia else está escrito en una nueva línea, posterior
a la última línea del código indentado, y no puede ser
escrita por sí misma. Una sentencia else tiene como
prerrequisito una sentencia if, siendo a la vez, parte de él.
El siguiente código también necesita ser
indentado 4 espacios para definirlo como parte de la
cláusula else.
El código posterior a la sentencia condicional else se
ejecuta sí y solo sí la primera parte, del condicional if se
evalúa como False. Si tu sentencia en la condicional if se
evalúa como True, será ese bloque de código el que se
ejecutará y el código que sigue a else no se ejecutará
nunca.

a = 1

b = 2

if a < b:

print(" b es mayor que a")

else:

print("a es mayor que b")

Aquí, la línea de código que sigue la sentencia:


else print("a es mayor que b"), nunca se ejecutará. La
sentencia if anterior, a<b, se evaluó como True, por lo tanto
es este el código ejecutado.
El bloque else se ejecuta cuando:
a = 1

b = 2

if a > b:

print(" a es mayor que b")

else:

print("b es mayor que a")

Resultado:
b es mayor que a

Sé consciente que no puedes escribir cualquier otro código


en medio de if y else. Si haces esto, obtendrás
un SyntaxError

if 1 > 2:

print("1 es mayor que 2")

print("hola mundo")

else:

print("1 es menor que 2")

Resultado:
File "<stdin>", line 3

print("hola mundo")

^SyntaxError: invalid syntax


¿Cómo funciona elif en Python?
¿Qué pasa si necesitamos más de dos opciones?
En vez de decir: "Si la primera condición es verdadera,
realiza esto, si no, realiza esto otro", ahora le indicamos al
programa, "Si esto no es verdadero, intenta esto otro, y si
todas las condiciones fallan en ser verdaderas, entonces
haz esto.
elif es lo que buscamos.
La sintaxis básica es similar a la siguiente:
if primera_condicion:

ejecutar sentencia

elif segunda_condicion:

ejecutar sentencia

else:ejecutar sentencia alternativa si todas las


condiciones previas son son evaluadas como False

Podemos usar más de un elif. De esta forma tenemos más


condiciones y más opciones.
Por ejemplo:
x = 1

if x > 10:

print(" x es mayor que 10!")

elif x < 10:

print("x es menor que 10!")

elif x < 20 :

print("x es menor que 20!")

else:

print("x es igual a 10")


Resultado:
x es menor que 10!

En este ejemplo, if pone a prueba una condición específica,


los bloques elif son dos alternativas, y el bloque
final else es la solución final cuando todas las condiciones
previas no se han cumplido.
Ten cuidado del orden en el que escribes las
sentencias elif.

En el ejemplo anterior, si hubieras escrito:


x = 1

if x > 10:

print(" x es mayor que 10!")

elif x < 20 :

print("x es menor que 20!")

elif x < 10:

print("x es menor que 10!")

else:

print("x es igual a 10")

La sentencia "print" de x es menor que 20! se habría


ejecutado porque estaba escrita antes de x es menor que
10!.
El condicional elif hace fácil el proceso de código.
Si todas las sentencias elif se evalúan como False,
entonces, y solo entonces se ejecutará el último bloque de
código else.
Por ejemplo, he aquí un caso en que la sentencia else se
ejecutaría:
x = 10

if x > 10:

print(" x es mayor que 10!")

elif x < 10:

print("x es menor que 10!")

elif x > 20 :

print("x es mayor que 20!")

else:

print("x es igual a 10")

Resultado:
x es igual a 10
Funciones:

Una función es un bloque de código que solamente se


ejecutacuando es llamada. Puede recibir información (en
forma de parámetros), y devolver datos una vez
procesados como resultado.

def mi_funcion(argumento):

Para definir una función nueva en Python utiliza la palabra


reservada def, seguida del nombre que le quieres dar a la
función. A continuación, añade los paréntesis con los
parámetros de entrada de la función seguidos de dos
puntos (:). Después, normalmente en otra línea de código,
agrega el bloque de instrucciones que quieres que se
ejecuten cada vez que se invoca a la función.
Dentro de este bloque de instrucciones (casi siempre al
final y de forma opcional) se coloca una sentencia de
retorno que no es más que el valor que deseas que
devuelva la función: para esto usa la palabra
reservada return.
Una función en Python siempre devolverá un valor; es
decir, si no se añade una sentencia de retorno (return), se
devolverá el valor predeterminado None.
Consideraciones adicionales acerca de las
funciones en Python:
Algunas consideraciones que debemos tener en cuenta al
momento de crear y utilizar nuestras propias funciones en
Python son:
• Siempre retornar un valor de respuesta.
• Definir valores por default para todos los parámetros
de entrada que sea posible.
• Verificar que la cantidad de parámetros con que
invocamos la función son los mismos que se
definieron al momento de crear la función.
• Python es un lenguaje que utiliza la indentación para
delimitar los bloques de código, por lo que tenemos
que verificar que las líneas que queremos que
pertenezcan a la función estén correctamente
indentadas.
• Otra recomendación es utilizar solo variables locales y
evitar el uso de variables globales para evitar
comportamientos inesperados.
• Python es un lenguaje interpretado: aunque las líneas
de código de la definición de la función contengan
algún tipo de error, el intérprete de Python lo señalará
hasta el momento en que se invoque la función.

Ejemplos de funciones en Python

1. Función print()

Imprime en la consola de comandos.


>>> print('¡Hola, mundo!')

¡Hola, mundo!

2. Función len()

Devuelve la longitud (el número de elementos) de un


objeto.
>>> len(['a','b','c','d','e'])

>>> len('¡Hola, mundo!')

11
3. Función max()

Devuelve el elemento más grande en un iterable (todos los


elementos deben ser del mismo tipo) o el más grande de
dos o más argumentos.
>>> max(2, 3)

>>> max([1, 2, 3])

>>> max('a', 'b', 'c')

'c'

4. Función min()

Devuelve el elemento más pequeño en un iterable o el más


pequeño de dos o más argumentos.
>>> min(2, 3)

>>> min([1, 2, 3])

>>> min('a', 'b', 'c')

'a'

5. Función divmod(a, b)

Devuelve el cociente y el sobrante de dividir dos números.


>>> divmod(5,2)

(2, 1)
6. Función abs()

Retorna el valor absoluto de un número.


>>> abs(5)

>>> abs(-5)

7. Función pow(base, exp)

Retorna base elevado a exp.


>>> pow(5,2)

25

8.Función input()
Permite obtener texto escrito por teclado.
Al llegar a la función, el programa se detiene esperando que
se escriba algo y se pulse la tecla Intro

>>>print("¿Cómo se llama?")

nombre = input()

>>>print(f"Me alegro de conocerle, {nombre}")


Si se prefiere que el usuario escriba su respuesta a
continuación de la pregunta, se podría utilizar el argumento
opcional end en la función print(), que indica el carácter o
caracteres a utilizar en vez del salto de línea. Para separar
la respuesta de la pregunta se ha añadido un espacio al
final de la pregunta.
>>>print("¿Cómo se llama? ", end="")

nombre = input()

>>>print(f"Me alegro de conocerle, {nombre}")

Funciones dinámicas:
La integración de diferentes herramientas de control de
flujo, nos permite crear funciones dinámicas y flexibles. Si
debemos utilizarlas varias veces, lograremos un programa
más limpio y sencillo de mantener, evitando repeticiones de
código.

• Funciones
• Loops (for/while)
• Estructuras condicionales
• Palabras clave (return, break, continue, pass)

def mi_funcion(argumento):

for item in...

if a == b .. .

...

else:

return...

return...

You might also like