0% encontró este documento útil (0 votos)
31 vistas38 páginas

Programación Básica en Python

Este documento proporciona una introducción a la programación básica en Python. Explica conceptos clave como variables, tipos de datos, operadores de asignación y más. Incluye secciones sobre cadenas de caracteres, valores booleanos, None y funciones. El objetivo es enseñar los fundamentos necesarios para crear código en Python.

Cargado por

Marc Segura
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)
31 vistas38 páginas

Programación Básica en Python

Este documento proporciona una introducción a la programación básica en Python. Explica conceptos clave como variables, tipos de datos, operadores de asignación y más. Incluye secciones sobre cadenas de caracteres, valores booleanos, None y funciones. El objetivo es enseñar los fundamentos necesarios para crear código en Python.

Cargado por

Marc Segura
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
Está en la página 1/ 38

UD008453_V(02) MD.PlantillaTexto(04)Esp.

dot

PROGRAMACIÓN BÁSICA EN PYTHON


PROGRAMACIÓN BÁSICA EN PYTHON

ÍNDICE

TU RETO EN ESTA UNIDAD ........................................................................ 3


1. INTRODUCCIÓN AL USO DE VARIABLES ............................................... 5
1.1. VARIABLES Y CONSTANTES .......................................................................... 6
1.1.1. TIPOS DE DATOS........................................................................................ 7
1.2. ASIGNACIÓN DE VALORES ............................................................................ 9
1.3. OPERANDO CON NÚMEROS ........................................................................ 12
1.4. OTROS OPERADORES DE ASIGNACIÓN ...................................................... 13
1.4.1. EJEMPLO DE ASIGNACIÓN AUMENTADA .................................................... 19
1.5. CADENAS DE CARACTERES......................................................................... 19
1.6. FORMATEADORES DE CADENAS ................................................................ 25
1.6.1. FORMATEO POSICIONAL SIMPLE ............................................................... 25
1.6.2. MARCADORES DE POSICIÓN POR NOMBRE ................................................. 27
1.7. VALORES BOOLEANOS................................................................................. 28
1.8. NONE.............................................................................................................. 30
1.9. INTRODUCCIÓN A LAS FUNCIONES ............................................................ 30
¿QUÉ HAS APRENDIDO? .......................................................................... 33
BIBLIOGRAFÍA ......................................................................................... 35

1
PROGRAMACIÓN BÁSICA EN PYTHON

TU RETO EN ESTA UNIDAD

Conoces el significado de “variable” pero, ¿sabes para qué se utilizan en pro-


gramación? ¿Sabrías definir los diferentes tipos de variable que existen y su uso
según necesidad? No te preocupes, ya que a lo largo de esta unidad vas a ver
esto y mucho más, relacionado con las variables y el tipado dinámico que hace
Python en tiempo de ejecución.

3
PROGRAMACIÓN BÁSICA EN PYTHON

1. INTRODUCCIÓN AL USO DE VARIABLES


Python, como el resto de lenguajes de programación, necesita de ciertos ele-
mentos básicos para poder funcionar. Es necesario aprender los conceptos que
rigen el comportamiento de un programa. En esta unidad vamos a ver elemen-
tos destinados a la creación de código tales como las variables, los identifica-
dores, los operadores, las palabras clave o los atributos.

El concepto básico más necesario de aprender en cualquier lenguaje es el de


identificador. Los identificadores son nombres únicos que sirven para distin-
guir algo, usándose para designar variables, funciones, clases y objetos. Deben
comenzar por una letra o guion bajo, pudiendo contener letras, guiones bajos o
dígitos, pero nunca signos de puntuación. Además, en Python no pueden existir
identificadores que contengan los caracteres $, ? o @ (solo podemos usarlos
dentro de cadenas).

Una variable, según la definición más simplista, es un espacio reservado en la


memoria de un ordenador, al que se puede acceder y modificar su contenido
en tiempo de ejecución. Por ejemplo:

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.

En la anterior unidad vimos un ejercicio de ejemplo, donde por medio de la in-


tervención del usuario que lanza el programa, se almacena un valor en una va-
riable para luego mostrarla por medio de la orden "print", la cual se encarga de
imprimir por pantalla el valor de una variable y las cadenas (string) que le indi-
camos. No te preocupes si no has entendido del todo el concepto de tipos de
variable. En esta unidad vamos a realizar una serie de ejemplos prácticos para
aprender todos estos conceptos iniciales y muchos más.

1.1. VARIABLES Y CONSTANTES

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

1.1.1. TIPOS DE DATOS

Los tipos de datos compuestos estándar se pueden clasificar como los dos si-
guientes:

 Mutable: su contenido (o dicho valor) puede cambiarse en tiempo de


ejecución.

 Inmutable: su contenido (o dicho valor) no puede cambiarse en tiem-


po de ejecución.

Tenemos tipos de datos que, para poderlos modificar en tiempo de ejecución,


debemos realizar una conversión de tipo o una operación, por medio de
funciones y operadores que veremos más adelante.

Se pueden resumir los tipos de datos compuestos estándar en la siguiente tabla:

CATEGORÍA DE TIPO NOMBRE DESCRIPCIÓN


int entero
long entero long
Números inmutables float coma flotante
complex complejo
bool booleano

7
PROGRAMACIÓN BÁSICA EN PYTHON

CATEGORÍA DE TIPO NOMBRE DESCRIPCIÓN


str cadena de caracteres
unicode cadena de caracteres Unicode
Secuencias inmutables
tuple tupla
xrange rango inmutable
list lista
Secuencias mutables
range rango mutable
Mapeos dict diccionario
Conjuntos mutables set conjunto mutable

Conjuntos inmutables frozenset conjunto inmutable

Otros tipos de datos incorporados, se describen a continuación en la siguiente


tabla:

CATEGORÍA DE TIPO NOMBRE DESCRIPCIÓN


Objeto integrado NoneType el objeto None.
Objeto integrado NotImplementedType el objeto NotImplemented.
Objeto integrado ellipsis el objeto Ellipsis.
Objeto integrado file el objeto file.

Para conocer el tipo de una variable, simplemente debemos invocar la función


type() y pasar, como argumento, la variable de la cual queramos conocer su tipo.

variable = “Hola Mundo”

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’>

Como ves, es la mejor forma de saber en tiempo de ejecución el tipo de una


variable para no equivocarte a la hora de operar con ellas, como estoy seguro
que te sucederá en más de una ocasión, intentando operar con variables de
distinto tipo en algún caso concreto.

1.2. ASIGNACIÓN DE VALORES

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.

Aunque Python no impone ningún formato estricto, como recomendación de


estilo los nombres de las variables se suelen escribir en minúsculas. Si se quiere
usar un nombre compuesto, utilizaremos el guion bajo para separar las pala-
bras. El nombre de una variable no puede empezar con un número.

nombre = "Heisenberg"

nombre_completo = "Walter White"

edad_real = 55

# Asignación multiple, mismo valor para las dos variables !!

kilos_cocinados = kilos_vendidos = 0

# Asignación simultánea, valores distintos a cada variable !!

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

Fíjate que la asignación múltiple de valores de forma simultánea nos permite


hacer cosas como intercambiar valores de variables de forma muy sencilla.

# Tenemos dos variables

x = 10

y = 20

print("x =", x, "y =", y)

x = 10 y = 20

En otros lenguajes, utilizaríamos una variable auxiliar para intercambiar los valo-
res:

aux = x # variable auxiliar, guardamos el valor original de "x"

x = y # le damos a "x" el valor de "y"

y = aux # y ahora le damos a "y" el antiguo valor de "x"

print("x =", x, "y =", y)

x = 20 y = 10

10
PROGRAMACIÓN BÁSICA EN PYTHON

Volvamos a las dos variables originales:

x = 10

y = 20

print("x =", x, "y =", y)

x = 10 y = 20

¡En Python podemos hacer esto de una sola vez!

x, y = y, x # intercambiamos los valores

print("x =", x, "y =", y) # Esto es lo que buscábamos.

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

1.3. OPERANDO CON NÚMEROS

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.

# Suma de enteros, devuelve un entero

print(3 + 5)

# Devuelve 8

# Resta de enteros, devuelve un entero

print(10 ‐ 7)

# Devuelve 3

# Multiplicación de enteros, devuelve un entero

print(3 * 4)

# Devuelve 12

# Pero si uno de los números tiene decimales (punto flotante),

# el resultado también será un float

print(3 + 5.5)

# Devuelve 8.5

print(12.3 ‐ 2)

# Devuelve 10.3

print(3.0 * 4)

# Devuelve 12.0

# La división siempre devuelve un valor en punto flotante

6 / 3

# Devuelve 2.0

13 / 2

12
PROGRAMACIÓN BÁSICA EN PYTHON

# Devuelve 6.5

# Si lo que queremos es la división entera, se hace así

13 // 2

# Devuelve 6

# Módulo (resto de la división entera)

13 % 2

# Devuelve 1

# Potencia

3 ** 2

# Devuelve 9

# Valor absoluto

abs(‐3.2)

# Devuelve 3.2

# Redondear un número en punto flotante

round(2/3, 1) # una cifra decimal

# Devuelve 0.7

round(2/3, 2) # dos cifras decimales

# Devuelve 0.67

Si mezclamos en una operación valores enteros y en punto flotante, Python se


encargará de "promocionar" o convertir todos los valores al tipo más general
(en este caso de entero (int) a coma flotante(float)).

1.4. OTROS OPERADORES DE ASIGNACIÓN

Existe en Python todo un grupo de operadores los cuales te permiten básica-


mente asignar un valor a una variable, usando el operador “=”.

13
PROGRAMACIÓN BÁSICA EN PYTHON

Con estos otros operadores podrás aplicar la técnica denominada asignación


aumentada. Vamos a explicar uno a uno estos operadores de asignación para
que no tengas ninguna duda de su utilización.

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

En el ejemplo anterior si la variable “r” es igual a 5 y r += 10, entonces la variable


“r” será igual a 15. Su equivalente seria el siguiente:

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

En el ejemplo anterior si la variable “r” es igual a 5 y r -= 10, entonces la variable


“r” será igual a -5. Su equivalente seria el siguiente:

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

En el ejemplo anterior si la variable “r” es igual a 5 y r *= 10, entonces la variable


“r” será igual a 50. Su equivalente seria el siguiente:

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

En el ejemplo anterior si la variable “r” es igual a 5 y r /= 10, entonces la variable


“r“ será igual a 0. Su equivalente seria el siguiente:

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

En el ejemplo anterior si la variable “r” es igual a 5 y r **= 10, entonces la varia-


ble “r” será igual a 9765625. Su equivalente seria el siguiente:

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

En el ejemplo anterior si la variable “r” es igual a 5 y r //= 10, entonces la variable


“r” será igual a 0. Su equivalente seria el siguiente:

r = 5

r = r // 10

0 # Resultado

Operador %=

El operador %= devuelve el resto de la división a la variable del lado izquierdo el


valor del lado derecho.

r = 5

r %= 10

5 # Resultado

En el ejemplo anterior si la variable “r” es igual a 5 y r %= 10, entonces la variable


“r” será igual a 5. Su equivalente sería el siguiente:

r = 5

r = r % 10

5 # Resultado

18
PROGRAMACIÓN BÁSICA EN PYTHON

1.4.1. EJEMPLO DE ASIGNACIÓN AUMENTADA

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

El código anterior, se puede abreviar a su equivalente, usando la asignación


aumentada, de la siguiente manera:

contador += 1

El cual no sólo es más corto de escribir, sino también más eficiente en tiempo
de ejecución.

1.5. CADENAS DE CARACTERES

Python nos permite expresar cadenas de caracteres de distintas formas. Vamos


a ver unos ejemplos de cómo definir una cadena de texto literal.

# Cadena de texto con comillas simples

texto_1 = 'Esto es una cadena de texto sencilla'

# Cadena de texto con comillas dobles

texto_2 = "Esto también es una cadena de texto válida"

19
PROGRAMACIÓN BÁSICA EN PYTHON

# Podemos insertar unas comillas simples

# dentro de una cadena delimitada con comillas dobles

texto_3 = "Usar las comillas simples 'aquí' es correcto"

# O al revés, insertar comillas dobles

# en una cadena delimitada con comillas simples

texto_4 = 'Intercalar comillas "de esta otra forma" también es


válido'

# También podemos crear cadenas de texto que ocupen varias líneas

texto_multiple_1 = """Podemos crear una cadena con múltiples líneas

rodeando el texto con comillas triples"""

texto_multiple_2 = '''Usar tres comillas simples

es igual de correcto que

usar tres comillas dobles'''

Podemos combinar las cadenas de texto de forma sencilla.

# Podemos concatenar dos cadenas de texto

# usando el operador '+'

lenguaje = 'Py' + 'thon'

lenguaje + "esco"

print(lenguaje)

# Da como resultado 'Pythonesco'

# También podemos repetir una cadena varias veces

# usando el operador '*'

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

# Longitud de la cadena de texto

lenguaje = “Python”

len(lenguaje)

# Da como resultado 6 (empezamos por 1, no por 0)

# Para seleccionar un carácter indicamos la posición entre

# corchetes

lenguaje[0] # El primer carácter lo obtenemos con el índice cero

# Da como resultado 'P'

lenguaje[5] # El carácter para el índice 5

# Da como resultado 'n'

# Al empezar a contar en cero, el último carácter está en LEN – 1

lenguaje[len(lenguaje) ‐ 1]

# Da como resultado 'n'

# Si usamos índices negativos, empezamos a contar desde el final

lenguaje[‐1]

# Da como resultado 'n'

lenguaje[0:2] # También podemos seleccionar una "rebanada"

# Da como resultado 'Py'

# Fíjate que el carácter del primer índice si se incluye,

# pero el segundo no

lenguaje[2:6]

21
PROGRAMACIÓN BÁSICA EN PYTHON

# Da como resultado 'thon'

# Seleccionamos desde la posición 2 (incluida) hasta el final

lenguaje[2:]

# Da como resultado 'thon'

# Seleccionamos desde la penúltima posición (incluída) hasta el

# final

lenguaje[‐2:]

# Da como resultado 'on'

# Seleccionamos desde el inicio hasta la penúltima posición

# (excluída)

lenguaje[:‐2]

# Da como resultado 'Pyth'

# Como el primer índice siempre se incluye

# y el segundo siempre se excluye,

# podemos reconstruir la cadena así

lenguaje[:2] + lenguaje[2:]

'Python'

Esto se llama técnicamente “Slicing”. Gracias al slicing, podemos coger diferentes


partes de una cadena para poder trabajar con ella.

Aunque podemos acceder a elementos individuales de una cadena, no podemos


modificarlos directamente. Tal y como vimos anteriormente en las tablas de tipos
de datos, las cadenas en Python son inmutables en tiempo de ejecución.

# Esto produce un error

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

# Da como resultado 'PYTHON'

# La operación anterior devolvió una nueva cadena modificada,

# pero no cambió el contenido de la variable

print(lenguaje)

# Da como resultado Python

# Convertir a minúsculas

lenguaje.lower()

# Da como resultado 'python'

# Si quieres que la variable se actualice con la versión

# modificada, tendrás que asignar de nuevo

lenguaje = lenguaje.lower()

print(lenguaje)

# Da como resultado python

# Contar cuántas veces aparece un carácter en la cadena

lenguaje.count('o')

# Da como resultado 1

# Reemplazar un carácter con otro

lenguaje.replace('p', 'c')

# Da como resultado 'cython'

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

autor = "Jacinto Benavente"

# Trocear una cadena tomando un carácter como delimitador de los

# trozos

autor.split(' ')

# Da como resultado ['Jacinto', 'Benavente']

# Si no indicamos separador, por defecto trocea en los espacios en

# blanco

# Podemos aprovechar la asignación múltiple para asignar cada trozo

# a una variable

nombre, apellido = autor.split()

print(nombre)

print(apellido)

# Da como resultado:

Jacinto

Benavente

# También podemos usar una cadena como separador

# para unir una lista de elementos

";;;".join([apellido, nombre])

# Da como resultado 'Benavente;;;Jacinto'

# ¿La cadena de texto está compuesta por letras?

"abc".isalpha()

# Da como resultado True

# ¿La cadena de texto está compuesta por dígitos?

"123".isdigit()

24
PROGRAMACIÓN BÁSICA EN PYTHON

# Da como resultado True

# Formatear una cadena de texto, insertando valores

# en las posiciones marcadas con {}

"{} ganó el premio Nobel en {}".format(autor, 1922)

# Da como resultado la cadena:

# 'Jacinto Benavente ganó el premio Nobel en 1922'

Si quieres cambiar el contenido de una variable, tendrás que reasignarle el re-


sultado de la función que uses a la variable que necesites.

Para ver más operaciones disponibles sobre el tipo


cadena de texto, puedes usar:
help(str).

1.6. FORMATEADORES DE CADENAS

Es posible que, por razones de necesidad, necesites formatear la salida de una


cadena para mostrarla por la salida estándar. En estos casos, los formateadores
posicionales vendrán al rescate para ayudarte en semejante tarea. Vamos a ver
un par de ejemplos útiles.

1.6.1. FORMATEO POSICIONAL SIMPLE

El formato posicional simple es probablemente el caso de uso más común.


Úsalo tan solo si no es probable que cambie el orden de los argumentos y solo
tengas muy pocos elementos que desees concatenar.

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

'%s %s' % ('uno', 'dos')

# Método nuevo

'{} {}'.format( uno', 'dos')

# Salida

uno dos

Veamos otro ejemplo:

# Método antiguo

'%d %d' % (1, 2)

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

# Método nuevo (no hay antiguo)

'{1} {0}'.format('uno', 'dos')

# Salida

dos uno

1.6.2. MARCADORES DE POSICIÓN POR NOMBRE

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:

datos = {'nombre' : 'John', 'apellido' : 'McClane'}

# Método Antiguo

'%(nombre)s %(apellido)s' % datos

# Método nuevo

'{nombre} {apellido}'.format( ** datos )

# Salida

John McClane

27
PROGRAMACIÓN BÁSICA EN PYTHON

.format() También acepta argumentos de palabras clave.

# Método nuevo (no hay antiguo)

'{nombre} {apellido}'.format(nombre = 'John', apellido = 'McClane')

# Salida

John McClane

Si quieres ampliar información sobre este y otros


formateadores de texto, visita:
https://pyformat.info/#conversion_flags.

1.7. VALORES BOOLEANOS

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

# operación AND (Y) lógica

soy_rico and soy_listo

False

# operación OR (O) lógica

soy_rico or soy_listo

True

28
PROGRAMACIÓN BÁSICA EN PYTHON

# negación

not soy_rico

True

También tenemos los operadores de comparación, que nos devuelven un valor


de verdadero o falso.

# Mayor que

10 > 3.0 # True

True

# Menor que

10 < 3.0 # False

False

# Mayor o igual que

10 >= 3.0 # True

True

# Menor o igual que

10 <= 3.0 # False

False

# Igualdad

6/3 == 2 # True

True

# Distintos

"Rojo" != "Verde" # True

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.

# podemos inicializar una variable con None

# para indicar que aún no tiene valor asignado

voluntario = None

# comprobamos si tiene un valor asignado usando `is None`

voluntario is None

True

1.9. INTRODUCCIÓN A LAS FUNCIONES

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

Veamos un ejemplo simple de función:

# vamos a definir la función

def mi_primera_funcion():

print("Hello Function!")

Bueno, no es la función más útil del mundo, pero, para empezar, nos sirve.

Podemos dividir la definición de la función en dos partes: el encabezado y el


cuerpo. El encabezado empieza con la palabra clave def, seguida del nombre de
la función “mi_primera_funcion”. Para los nombres de funciones se aplican las
mismas reglas que para los nombres de variables. Después del nombre de la
función se colocan los paréntesis de apertura y cierre, y finalmente los dos pun-
tos (:) para indicar el final de la cabecera.

Justo después del encabezado, en la línea siguiente, comienza el cuerpo de la


función, que es donde incluiremos todas las instrucciones que componen el
cálculo o tarea que queremos implementar. En este ejemplo, el cuerpo lo forma
únicamente la sentencia print. Al igual que vimos con las sentencias de control
de flujo, este cuerpo va indentado respecto a la cabecera. La primera línea que
vuelva al mismo nivel de indentación que el encabezado nos marcará el fin de la
función.

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!

Como hemos visto, es una buena costumbre incluir comentarios en nuestro


código para documentar qué estamos haciendo, de forma que luego sea más
fácil de seguir por otras personas (¡y por nosotros mismos!).

31
PROGRAMACIÓN BÁSICA EN PYTHON

En el caso de las funciones, Python permite añadir una documentación específi-


ca añadiendo una cadena de texto justo entre el encabezado y el cuerpo de la
función. A estas cadenas en Python se las conoce como docstring. De esto ya
hemos hablado cuando mencionamos los comentarios, pero como ves, todo va
cobrando sentido…

Las docstrings son opcionales, pero es muy recomendable incluirlas. No tienen


ningún efecto en el código que se ejecuta. Normalmente se utilizan cadenas
rodeadas por comillas triples, porque así la cadena puede ocupar varias líneas
consecutivas. Utiliza las docstrings para describir qué es lo que hacen tus fun-
ciones y qué parámetros necesitan. Recuerda que documentar tu programa no
solo te servirá a ti ahora, sino que también le servirá a tu “Yo del futuro”, el cual
estará MUY agradecido cuando le toque revisar ese código de hace 2 años con
una documentación impecable (guiño, guiño).

def mi_primera_funcion():

"""

Función trivial de ejemplo.

Imprime un mensaje de prueba.

"""

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

¿QUÉ HAS APRENDIDO?

Tal y como te habíamos comentado al principio de la unidad, las variables son la


base de la programación, sin las cuales, no podríamos efectuar operaciones.
Conocer todos los tipos que podemos utilizar, así como las operaciones que se
pueden realizar, es indispensable para obtener una base estable y fuerte en
cualquier lenguaje, no solo en Python. Las características de este último hacen
que operar con la ayuda del intérprete de Python, sea una tarea más sencilla
que con otros lenguajes.

En esta unidad hemos visto los conceptos básicos para comenzar a programar
en Python, en concreto:

 Una variable es una reserva de memoria que podemos manejar y usar


en tiempo de ejecución.

 Es necesario indentar el código correctamente para que funcione ade-


cuadamente.

 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

 MASTER.D. Python y Big Data.

35

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy