Programación Básica en Python
Programación Básica en Python
dot
ÍNDICE
1
PROGRAMACIÓN BÁSICA EN PYTHON
3
PROGRAMACIÓN BÁSICA EN PYTHON
a = 3
5
PROGRAMACIÓN BÁSICA EN PYTHON
En este sencillo ejemplo, tenemos que la variable “a” toma el valor 3 por medio
de un operador de asignación (=). A la hora de declarar una variable, ya sabe-
mos que en Python no hace falta declarar qué tipo de variable es (lo que cono-
cemos por tipado dinámico), lo que nos ayuda a poder definir su valor directa-
mente por medio de operaciones...
b = 3 + 5
Esta forma de declarar variables hace que tomen directamente el valor del re-
sultado de la operación. En este caso, b vale 8.
Si has trabajado con otros lenguajes de programación como C++ o Java, tal vez
te llame la atención que no hayamos necesitado declarar la variable de ninguna
forma especial, ni definir previamente qué tipo de dato va a almacenar (¿un nú-
mero, una cadena de texto?).
Como ya estarás cansado de leer en este curso, Python es un lenguaje con tipa-
do dinámico. Esto quiere decir que él se encarga de averiguar el tipo que de-
be tener una variable en cada momento, en función del valor que le hayamos
asignado. Fíjate que esto significa que podemos asignar a una misma variable
un valor de otro tipo distinto en cualquier momento y Python no protestará.
Simplemente asumirá que el tipo de la variable ha cambiado. Que podamos
hacer esto no significa que sea recomendable hacerlo en cualquier situación.
Aunque en muchos casos podemos sacar provecho de esta característica para
simplificar nuestros programas, en otras ocasiones será mejor no mezclar ti-
pos en una misma variable para evitar errores y que el código sea más fácil de
entender.
6
PROGRAMACIÓN BÁSICA EN PYTHON
Las variables en Python son locales por defecto. Esto quiere decir que las va-
riables definidas y utilizadas en el bloque de código de una función, sólo tienen
existencia dentro de la misma, y no interfieren con otras variables del resto del
código.
A su vez, las variables existentes fuera de una función, no son visibles dentro
de la misma.
En caso de que sea conveniente o necesario, una variable local puede convertir-
se en una variable global declarándola explícitamente como tal con la sentencia
“global”.
Los tipos de datos compuestos estándar se pueden clasificar como los dos si-
guientes:
7
PROGRAMACIÓN BÁSICA EN PYTHON
type(variable)
8
PROGRAMACIÓN BÁSICA EN PYTHON
Esto nos devolverá el tipo al que corresponde el valor de dicha variable, en este
caso, “string”.
<type ’str’>
La asignación de un valor a una variable se hace con el signo igual '='. Python
nos permite asignar el mismo valor a múltiples variables de una sola vez.
nombre = "Heisenberg"
edad_real = 55
kilos_cocinados = kilos_vendidos = 0
ventas_cerradas, sicarios_enviados = 1, 0
9
PROGRAMACIÓN BÁSICA EN PYTHON
Las dos últimas líneas son ejemplos de asignación múltiple. En el primer caso,
asignamos el mismo valor (cero) a las dos variables (kilos_cocinados y ki-
los_vendidos). En el segundo caso asignamos un valor distinto a cada variable
(ventas_cerradas valdrá 1 y sicarios_enviados valdrá 0).
x = 10
y = 20
x = 10 y = 20
En otros lenguajes, utilizaríamos una variable auxiliar para intercambiar los valo-
res:
x = 20 y = 10
10
PROGRAMACIÓN BÁSICA EN PYTHON
x = 10
y = 20
x = 10 y = 20
x = 20 y = 10
En Python no existen las constantes tal cual, no hay una forma de especificar
que una variable no puede cambiar su contenido una vez que ha sido asignada.
Como convención, lo que hacemos es utilizar nombres en mayúsculas para
diferenciar los identificadores de las constantes que queramos definir. Así nos
resultará más sencillo reconocerlos en el código (aunque para Python no habrá
ninguna diferencia con cualquier otra variable).
VERSION = "1.0"
PI = 3.14159265359
11
PROGRAMACIÓN BÁSICA EN PYTHON
Python nos permite trabajar con distintos tipos numéricos, como enteros (tipo
int) o números reales o en punto flotante (tipo float). Disponemos de las opera-
ciones matemáticas habituales con estos tipos. Vamos a verlo.
print(3 + 5)
# Devuelve 8
print(10 ‐ 7)
# Devuelve 3
print(3 * 4)
# Devuelve 12
print(3 + 5.5)
# Devuelve 8.5
print(12.3 ‐ 2)
# Devuelve 10.3
print(3.0 * 4)
# Devuelve 12.0
6 / 3
# Devuelve 2.0
13 / 2
12
PROGRAMACIÓN BÁSICA EN PYTHON
# Devuelve 6.5
13 // 2
# Devuelve 6
13 % 2
# Devuelve 1
# Potencia
3 ** 2
# Devuelve 9
# Valor absoluto
abs(‐3.2)
# Devuelve 3.2
# Devuelve 0.7
# Devuelve 0.67
13
PROGRAMACIÓN BÁSICA EN PYTHON
Operador =
El operador igual a, (=), es el más simple de todos y asigna a la variable del lado
izquierdo cualquier variable o resultado del lado derecho.
Operador +=
El operador += suma a la variable del lado izquierdo el valor del lado derecho.
r = 5
r += 10
15 # Resultado
r = 5
r = r + 10
15 # Resultado
14
PROGRAMACIÓN BÁSICA EN PYTHON
Operador -=
El operador -= resta a la variable del lado izquierdo el valor del lado derecho.
r = 5
r ‐= 10
‐5 # Resultado
r = 5
r = r ‐ 10
‐5 # Resultado
Operador *=
El operador *= multiplica a la variable del lado izquierdo el valor del lado derecho.
r = 5
r *= 10
50 # Resultado
15
PROGRAMACIÓN BÁSICA EN PYTHON
r = 5
r = r * 10
50 # Resultado
Operador /=
El operador /= divide a la variable del lado izquierdo el valor del lado derecho.
r = 5
r /= 10
0 # Resultado
r = 5
r = r / 10
0 # Resultado
16
PROGRAMACIÓN BÁSICA EN PYTHON
Operador **=
El operador **= calcula el exponente a la variable del lado izquierdo el valor del
lado derecho.
r = 5
r **= 10
9765625 # Resultado
r = 5
r = r ** 10
9765625 # Resultado
Operador //=
El operador //= calcula la división entera a la variable del lado izquierdo el valor
del lado derecho.
r = 5
r //= 10
0 # Resultado
17
PROGRAMACIÓN BÁSICA EN PYTHON
r = 5
r = r // 10
0 # Resultado
Operador %=
r = 5
r %= 10
5 # Resultado
r = 5
r = r % 10
5 # Resultado
18
PROGRAMACIÓN BÁSICA EN PYTHON
Es frecuente que una variable tenga que ser definida de nuevo en función de sí
misma. Normalmente lo escribirás bajo la siguiente sintaxis:
contador = contador + 1
contador += 1
El cual no sólo es más corto de escribir, sino también más eficiente en tiempo
de ejecución.
19
PROGRAMACIÓN BÁSICA EN PYTHON
lenguaje + "esco"
print(lenguaje)
"hola" * 3
'holaholahola'
20
PROGRAMACIÓN BÁSICA EN PYTHON
Podemos contar los caracteres que forman una cadena, o seleccionar una parte
de la cadena usando índices de posición entre corchetes ([]). A la hora de selec-
cionar un carácter o una parte de la cadena, tenemos que saber que en Python
empezamos a contar posiciones en cero, así que el primer carácter está en el
índice 0 (y no en el índice 1).
lenguaje = “Python”
len(lenguaje)
# corchetes
lenguaje[len(lenguaje) ‐ 1]
lenguaje[‐1]
# pero el segundo no
lenguaje[2:6]
21
PROGRAMACIÓN BÁSICA EN PYTHON
lenguaje[2:]
# final
lenguaje[‐2:]
# (excluída)
lenguaje[:‐2]
lenguaje[:2] + lenguaje[2:]
'Python'
lenguaje[0] = 'c'
22
PROGRAMACIÓN BÁSICA EN PYTHON
El tipo cadena en Python incluye de serie múltiples operaciones para poder ma-
nipular su contenido. Estas operaciones de manipulación no modifican la propia
cadena, si no que devuelven una nueva versión modificada.
# Convertir a mayúsculas
lenguaje = “Python”
lenguaje.upper()
print(lenguaje)
# Convertir a minúsculas
lenguaje.lower()
lenguaje = lenguaje.lower()
print(lenguaje)
lenguaje.count('o')
# Da como resultado 1
lenguaje.replace('p', 'c')
23
PROGRAMACIÓN BÁSICA EN PYTHON
Ahora cambiamos la cadena por otra compuesta por dos palabras (pero que no
deja por ello de ser una sola cadena de texto).
# trozos
autor.split(' ')
# blanco
# a una variable
print(nombre)
print(apellido)
# Da como resultado:
Jacinto
Benavente
";;;".join([apellido, nombre])
"abc".isalpha()
"123".isdigit()
24
PROGRAMACIÓN BÁSICA EN PYTHON
25
PROGRAMACIÓN BÁSICA EN PYTHON
Dado que los elementos no están representados por algo tan descriptivo como
un nombre, este estilo simple solo debe usarse para formatear un número rela-
tivamente pequeño de elementos. Existen dos métodos de formateo de cade-
nas simples, el antiguo y el nuevo.
# Método antiguo
# Método nuevo
# Salida
uno dos
# Método antiguo
# Método nuevo
'{} {}'.format(1, 2)
# Salida
1 2
26
PROGRAMACIÓN BÁSICA EN PYTHON
Con el nuevo formato de estilo, es posible (y a partir de Python 2.6 incluso obli-
gatorio) dar a los marcadores de posición un índice posicional explícito. Esto
permite reorganizar el orden de visualización sin cambiar los argumentos.
# Salida
dos uno
Al igual que sucede con el estilo posicional simple, los marcadores de posición
por nombre (named placeholders) también nos permiten utilizar el posiciona-
miento de una estructura de datos tipo {clave:valor} (como veremos en su-
cesivas unidades).
He aquí un avance de lo que podremos hacer una vez lleguemos a ese apartado:
# Método Antiguo
# Método nuevo
# Salida
John McClane
27
PROGRAMACIÓN BÁSICA EN PYTHON
# Salida
John McClane
En Python tenemos un tipo booleano para representar los valores verdadero y fal-
so. Veamos cómo se codifican estos valores y las operaciones lógicas habituales.
soy_rico = False
soy_listo = True
False
soy_rico or soy_listo
True
28
PROGRAMACIÓN BÁSICA EN PYTHON
# negación
not soy_rico
True
# Mayor que
True
# Menor que
False
True
False
# Igualdad
6/3 == 2 # True
True
# Distintos
True
29
PROGRAMACIÓN BÁSICA EN PYTHON
1.8. NONE
En Python existe un valor especial para indicar que algo (una variable, un pará-
metro, un objeto) no tiene un valor definido, su valor está ausente o indetermi-
nado. Este valor es None.
voluntario = None
voluntario is None
True
Las funciones son sencillamente bloques de código que realizan una operación
deseada y devuelven un valor o alguna tarea en específico. A estas funciones se
les asigna un nombre para poder invocarlas durante la ejecución del programa.
El uso de las funciones sin duda facilita la programación, primero porque permi-
te dividir el código en tareas más simples y segundo por su utilidad, pues una
vez creada se puede llamar las veces que sea necesario, ya que nos permite no
tener que reescribir el mismo código en distintas partes de nuestro programa,
sustituyéndolo por llamadas a una función. No solo tiene la ventaja de la reutili-
zación y evitarnos escribir mucho más código. También hace los programas más
modulares y fáciles de leer, depurar y modificar.
Ahora bien, para aprovechar bien este recurso es preciso crear funciones que
ofrezcan soluciones concretas. En Python indicamos que vamos a definir una
función utilizando la palabra reservada def.
30
PROGRAMACIÓN BÁSICA EN PYTHON
def mi_primera_funcion():
print("Hello Function!")
Bueno, no es la función más útil del mundo, pero, para empezar, nos sirve.
Una vez que tenemos definida la función, ya podemos utilizarla. Para invocar
una función simplemente utilizamos su nombre seguido de los paréntesis.
mi_primera_funcion()
Hello Function!
31
PROGRAMACIÓN BÁSICA EN PYTHON
def mi_primera_funcion():
"""
"""
print("Hello Function!")
Y hasta aquí podemos contar sobre las funciones de momento. Al menos, espe-
ro que te haya servido para hacerte una idea de para qué las vas a utilizar a par-
tir de ahora. En la siguiente unidad las veremos más en profundidad, junto al
resto de elementos y estructuras de control con las que trabajaremos, pero
para poder meternos a fondo con las funciones, necesitarás conocer las estruc-
turas de control de flujo completamente. Así aprovecharás todo el potencial que
te brindan estos elementos.
¡A por ello!
32
PROGRAMACIÓN BÁSICA EN PYTHON
En esta unidad hemos visto los conceptos básicos para comenzar a programar
en Python, en concreto:
Las funciones son porciones de código que podemos reutilizar para ob-
tener un valor concreto en base al algoritmo o funcionalidad que incor-
poren. Ahora ya conoces las bases de la programación.
33
PROGRAMACIÓN BÁSICA EN PYTHON
BIBLIOGRAFÍA
35