0% encontró este documento útil (0 votos)
52 vistas

Sesion 2

Este documento introduce el lenguaje de programación Python. Explica que Python es un lenguaje interpretado, de código abierto y multiparadigma. También describe características como la sintaxis basada en indentación y la gran cantidad de librerías disponibles. Finalmente, explica cómo instalar Python y usar el intérprete interactivo para probar fragmentos de código.

Cargado por

David MM
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas

Sesion 2

Este documento introduce el lenguaje de programación Python. Explica que Python es un lenguaje interpretado, de código abierto y multiparadigma. También describe características como la sintaxis basada en indentación y la gran cantidad de librerías disponibles. Finalmente, explica cómo instalar Python y usar el intérprete interactivo para probar fragmentos de código.

Cargado por

David MM
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 47

Programación en Python - Sesión 2: Introducción al Lenguaje Python

Sesión 2. Introducción al Lenguaje Python

Este documento forma parte del curso Programación con Python del CEFIRE CTEM.

Esta obra está sujeta a la licencia Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional


de Creative Commons. Para ver una copia de esta licencia, visitad
http://creativecommons.org/licenses/by-nc-sa/4.0/.

Autoria: José Luis Tomás Navarro.


Programación en Python - Sesión 2: Introducción al Lenguaje Python

ÍNDICE

1.- Introducción

2.- Entorno de Trabajo

3.- Características Generales de Python

4.- Variables. Tipos de Datos

5.- Entrada / Salida

6.- Estructuras de Control

6.1.- Estructuras Condicionales. Operadores Lógicos

6.2.- Estructuras Repetitivas

7.- Actividad Obligatoria

Anexo I Importación de Módulos

Anexo II Operaciones con Cadenas

Página 2
Programación en Python - Sesión 2: Introducción al Lenguaje Python

1.- Introducción
En este punto vamos a introducir cuales son las características generales del
lenguaje python.
Python es un lenguaje de programación que fué creado por Guido van Rossum, a
finales de los ochenta. Debido a sus características su uso se ha extendido de forma
considerable, llegando a ser muy conocido y utilizado en la actualidad.

Las principales características de Python son las siguientes:


- Es un lenguaje muy simple y de propósito general, con el cual se pueden crear
cualquier tipo de programa, incluso páginas web

- Open Source, por lo cual ha sido modificado para que pueda funcionar en diversas
plataformas (Linux, Windows, Macintosh, Solaris, etc.)

- Amplio soporte de Librerías, el paquete de librerías estándar de Python es muy amplio


con los vamos a poder realizar infinidad de cosas como por ejemplo: expresiones
regulares, generación de documentos, acceso a bases de datos, criptografía, manejo de
ftp, correo electrónico, etc.

- Versatil o Multiparadigma, permite tanto la programación orientada a


Procedimientos o Funciones, en la cual un programa está formado por un conjunto de
piezas de programa reutilizables, como la programación orientada a Objetos, según la
cual un programa está formado por una colección de objetos, los cuales combinan datos y
operaciones sobre estos. Nosotros sólo trabajaremos con la programación orientada
a Funciones

- Sintaxis Identada de caracter obligatorio, esto hace que sea muy visual. Esto quiere
decir que para separar los bloques de código en Python, se debe tabular hacia la derecha
o hacia adentro, de manera que todas las instrucciones que pertenezcan al mismo bloque
de código, tendrán el mismo nivel de tabulación o identación. Esto facilita que todos los
programadores adopten las mismas notaciones y por tanto los programas hechos en
Python van a tener un aspecto muy similar

Página 3
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Las imágenes que aparecen a continuación, pueden aclarar mejor este concepto.

En estas 2 imágenes se puede apreciar como los bloques de código en lugar de


delimitarse con las llaves { } como en C, se delimitan con un mismo nivel de
tabulación. Así, vemos como en la imagen de arriba todas las instrucciones que
pertenecen al bloque de código que hay dentro de la estructura repetitiva while,
tienen el mismo número de espacios, es decir 4, las cuales están representadas por
el recuadro con el 1. Mientras que las instrucciones que pertenecen a un bloque de
código más anidado o identado, tienen todas 8 espacios y están representadas por
los recuadros 2 y 3.

Finalmente, en la imagen de la siguiente página, podemos ver la comparación entre


un fragmento de código en python y otro en un lenguaje como perl que utiliza las
llaves para delimitar los bloques de código.

Página 4
Programación en Python - Sesión 2: Introducción al Lenguaje Python

- Es un lenguaje Interpretado, esto lo vamos a explicar con más detenimiento. Frente a


los lenguajes interpretados existen los compilados como el C, en los cuales los
programas son traducidos de un lenguaje fuente a otro directamente entendible por el
ordenador, también llamado lenguaje objeto. Esta traducción la realiza un programa que
se llama compilador. El siguiente esquema trata de explicar el proceso de compilación:

Página 5
Programación en Python - Sesión 2: Introducción al Lenguaje Python

En este tipo de lenguajes de programación, una vez que eliminamos los errores, ya no
se vuelve a realizar el proceso de compilación o traducción, de manera que podemos
ejecutar tantas veces como queramos el programa que no se va realizar la
compilación, sino que directamente el código binario (programa objeto) se carga a la
memoria y se inicia la ejecución.

En cambio, cuando se ejecuta un programa realizado con un lenguaje interpretado como


python, no existe una compilación propiamente dicha. La idea es que cada vez que
ejecutamos un programa de este tipo, se lleva a cabo la traducción instrucción a
instrucción. Esto es lo que se conoce como compilación implícita.
Aunque si somos precisos, la verdad es que cuando se ejecuta por primera vez un
código en python, se producen unos bytecodes ó código intermedio (de forma
similar a como hace Java), pero es totalmente transparente para el programador. Estos
bytecodes se guardan en el sistema y sirven para acelerar la compilación implícita
que realiza el intérprete cada vez que se ejecuta el mismo código.

Como deventajas de los lenguajes interpretados podemos decir que son más lentos
puesto que en cierto modo, cada vez que se ejecutan necesitan traducirse, mientras
que como ventajas diremos que son más portables puesto que como no están
compilados, no se genera ningún programa objeto que dependa de las
características de la arquitectura hardware o del sistema operativo. En cambio, solo
tenemos que copiar el código de un programa Python en cualquier otro sistema y
funcionará igualmente.

2.- Entorno de Trabajo


En primer lugar comentar que Python ya se encuentra instalado por defecto, en la versión
16 de la distribución de escritorio de Lliurex, al igual que en el resto de distribuciones de
linux. Concretamente se encuentran instaladas las versiones 2 y 3 de python, y para se
más exactos la 2.7.12 y la 3.5.2. Nosotros en este curso vamos a utilizar la versión 3
de python.

En cualquier caso, si por cualquier motivo quiisiéramos instalarlo, podemos hacerlo desde

Página 6
Programación en Python - Sesión 2: Introducción al Lenguaje Python

el Gestor de Paquetes Synaptic a través del menú Sistema / Gestor de paquetes


Synaptic, o bien desde la línea de comandos habriendo una Consola de Comandos o
Terminal de Sistema (Terminal de MATE) por el menú Accesorios / Terminal de
MATE, donde teclearíamos:

sudo apt-get update


sudo apt-get install python3.5

En windows por defecto no viene instalado, pero podemos instalarlo, para lo cual tenemos
que descargár el fichero python-3.7.2-amd64.exe (Windows x86-64 executable installer)
en el enlace https://www.python.org/downloads/release/python-372/, el cual se
encuentra colgado en el apartado de recursos de la Sesión 2.

Como ya hemos comentado Lliurex trae instaladas tanto la versión 2 como la 3 de python,
de manera que la pregunta es, si queremos ejecutar un programa python: ¿ cual versión
de python se ejecuta por defecto, la 2 o la 3 ?. La respuesta, es que si en un consola de
sistema tecleamos:

$ which python

nos saldrá /usr/bin/python, bien pues este es el python que se ejecutará por defecto
cuando en la consola tecleemos: python nombre_programa.py
De manera que si hacemos un ls del directorio /usr/bin, nos saldrá algo parecido a lo que
figura en la siguiente imagen:

Página 7
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Como podemos apreciar python es un enlace simbólico o alias, al interprete python


que se ejecuta que será el python 2.7. Podemos apreciar también, como existe el
enlace simbólico python3, que realmente está ejecutando la versión del interprete
de python 3.5.
De manera que para poder ejecutar desde la consola programas python con el interprete
3.5, teclearemos python3 nombre_programa_python, por ejemplo:
python3 prueba1.py

En cualquier caso, si tecleamos en la consola:

$ python -V

también nos informará el sistema de la versión de python que estamos utilizando por
defecto, que en nuestro caso será la 2.7.12.

Comentar que Python es un lenguaje interactivo, esto significa que cuenta con un
intérprete por línea de comandos en el que se pueden introducir las setencias sueltas y
ejecutarlas directamente sin necesidad de realizar un programa completo. Es decir, cada
sentencia o grupo de sentencias que implican una visualización por pantalla, se van
a poder ejecutar y producirán unos resultados visibles. Esto puede ayudarnos a
entender mejor el lenguaje y probar los resultados de la ejecución de pequeñas porciones
de código, rápidamente sin necesidad de realizar ningún programa completo.
Para acceder al interprete, nos abrimos una consola y tecleamos:

$ python3.5

Tras lo cual nos aparece lo siguiente:

En el intérprete podemos ver el símbolo '>>>' que representa el prompt, el cual nos

Página 8
Programación en Python - Sesión 2: Introducción al Lenguaje Python

indica que está esperando una instrucción para poder ejecutarla. Por ejemplo si
tecleamos:

print("Hola Mundo")

y le damos al intro, aparecerá lo siguiente:

Evidentemente si la instrucción o instrucciones que tecleamos no son correctas, en lugar


de ejecutarla, el intérprete visualizará el error correspondiente, tal y como podemos ver en
la siguiente imagen:

Podemos apreciar que el error consiste en que no hemos cerrado la cadena Hola Mundo
con las dobles comillas, es decir, debería quedar:

print ("Hola Mundo")

Para salir del intérprete, tecleamos quit() y damos al intro o bien pulsamos Ctrl+D.
Evidentemente este Entorno de Trabajo es bastante incómodo y muy rudimentario, como
primera alternativa podemos utilizar el IDLE, o Entorno Integrado de Desarrollo de
Python, que en Lliurex no se encuentra instalado. Para instarlo vamos al Gestor de
Paquetes Synaptic y buscamos el paquete idle3, la entrada que nos aparece la
marcamos para instalar y pinchamos en el botón Aplicar para instalarlo.

Página 9
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Tras la instalación, vemos que en el menú ha aparecido una nueva entrada con el
nombre Desarrollo, tal y como podemos ver en la siguiente imagen:

Podemos utilizar cualquiera de las 2 opciones: IDLE3 o IDLE (using python 3.5).
Cuando entramos al IDLE el aspecto que presenta es el siguiente:

Es decir muy similar al que veíamos antes, lo que ocurre es que se encuentra dentro de
una ventana gráfica.

Página 10
Programación en Python - Sesión 2: Introducción al Lenguaje Python

El inconveniente que tenemos con el intérprete, es que no nos permite guardar


programas, puesto que si intentamos hacerlo, además de las líneas de código,
también almacenaremos en el mismo fichero, toda la información que aparece en la
pantalla, es decir, las respuestas, los posibles errores, el mensaje de bienvenida, etc.
Por tanto, para poder trabajar de manera que podamos ir guardando los programas que
vayamos creando, abriremos en una ventana a parte un editor, a través de la opción de
menú del IDLE File / New File, el cual tiene el aspecto que se muestra a continuación:

Vemos que aparece un programa muy simple que suma 2 números con el nombre
prueba.py.
Una vez que tenemos escrito el programa, para ejecutarlo vamos a la opción de menú
Run / Run Module o bien pulsamos la tecla F5. La ejecución del mismo aparecerá en la
ventana del intérprete, tal y como podemos ver:

Página 11
Programación en Python - Sesión 2: Introducción al Lenguaje Python

En lugar de trabajar con el IDLE de Python, podemos utilizar cualquier editor como el
Pluma, el Vim, el nano, etc. Por ejemplo el Pluma se encuentra accesible a través del
menú Accesorios / Pluma. Escribiremos el código de los programas en este editor, pero el
inconveniente es que para ejecutar el programa una vez que lo hemos hecho y lo
queremos probar, tenemos que abrir un terminal de sistema y teclear lo siguiente:
python3 nombre_programa.py

En el ejemplo anterior sería:


python3 prueba.py

3.- Características Generales de Python


En python al igual que en el resto de lenguajes de programación, un programa está
formado por líneas. Lo normal es que cada línea contenga una sola instrucción, se
desaconseja por motivos de claridad a la hora de leer el código, incluir más de una
instrucción en una línea. En el caso de que una instrucción ocupe más de una línea (80
caracteres), podemos incluirla en varias líneas.

Los elementos del lenguaje se separan por espacios en blanco y en principio da igual los
que empleemos, ejemplo:
c= a + b
Merece recordar especialmente que EL NÚMERO DE ESPACIOS AL PRINCIPIO DE
UNA LÍNEA SI QUE SON SIGNIFICATIVOS, PUESTO QUE DEFINEN EL NIVEL DE
AGRUPAMIENTO. Por ejemplo si tenemos al principio de un programa la siguiente
asignación:
>>> dato = 0

Nos saldrá el siguiente mensaje de error:


SyntaxError: unexpected indent

Como excepción no tendremos que escribir espacios en los siguientes casos:


- Entre los nombres de las funciones y el paréntesis para los argumentos. Ejemplo:
def suma_numeros(numero1, numero2):

Página 12
Programación en Python - Sesión 2: Introducción al Lenguaje Python

- antes de una coma


print("La media de", a, "y", b, "es:", media)

- Entre los delimitadores y su contenido (paréntesis, cochetes, llaves ). Ejemplos:


a = [3, 5, 7]
punto = {'x': 2, 'y': 1, 'z': 4}

Para los comentarios python utiliza el carácter almohadilla #, recordemos que el


objetivo de los comentarios en un lenguaje de programación es incluir anotaciones
que aclaren la finalidad y el cometido de los distintos bloques de instrucciones,
para que luego la lectura y compresión del programa sea más sencilla. El contenido
existente en los comentarios es ignorado por los compiladores e intérpretes a la hora de
ejecutar los programas.
Podemos poner la almohadilla al principio de la línea o bien a mitad de una línea, en
ambos casos el contenido hasta el final de la línea es ignorado. Ejemplo:
# Calculo de la suma
suma = numero1 + numero2 # Suma realizada

Palabras Reservadas
El núcleo del lenguaje python cuenta con una serie de palabras reservadas que no
pueden utilizarse para nombrar otros elementos como variables, funciones, etc.

En la siguiente imagen tenemos el conjunto de palabras reservadas:

Página 13
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Operadores Aritméticos
Python cuenta con los operadores aritméticos tradicionales, en la siguiente lista se
muestran algunos:

+ => suma, - => resta, * => multiplicación, / => división, % => módulo, resto de la

división, // => división con redondeo, el resultado se redondea hacia abajo, ** =>
exponencial o potencia. Ejemplos:
division_entera = numero1 // numero2
resto = numero1 % numero2
potencia = base ** exponente

Operadores Relacionales
Los operadores relacionales coinciden prácticamente con el de la mayoría de lenguajes
de programación, tenemos los siguientes:
== evalúa si los 2 operandos son iguales
!= determina si los 2 operandos son distintos
<> es equivalente al anterior
< menor
<= menor o igual
> mayor
>= mayor o igual

Ejemplos:
if numero1 == numero2:
if a != b:
if dato1 <= dato2
Hay que poner especial atención en el operador de igualdad ==, puesto que muchas
veces es fácil confundirnos y utilizar un sólo =, es decir:
if a = b: en lugar de if a == b:

Página 14
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Operador de Asignación

Se suele emplear el =, como el más simple y corriente, de manera que asigna a la


variable del lado izquierdo la expresión del lado derecho del igual. Es importante recordar
que en los lenguajes de programación, el operador = no hay que verlo como una
igualdad, sino como una asignación.

Ejemplos

dato = 10
resultado = dato1 * dato2

También los operadores += y -=, los cuales los explicaremos con ejemplo.

a += 10
a -= 10

Si suponemos que a vale 5, en el primer caso se incrementa en 10 el valor de a, pasando


a valer 15. Mientras que en el segundo caso, se decrementa en 10 el valor de a, valiendo
finalmente -5.

Identificadores
Los identificadores son las palabras que se utilizan para nombrar elementos creados
en un programa, como pueden ser variables y funciones. Los identificadores están
formados por letras (mayúsculas y minúsculas), números y el carácter guión bajo
(_). Aunque se pueden emplear carácteres UNICODE, sin embaro se recomienda
utilizar caracteres ASCII. Además, el primer caracter del identificador debe ser una letra.

Funciones integradas

A estas funciones se les suele llamar built-in functions y Python incluye las siguientes
funciones de forma predeterminada, tal y como podemos ver en la siguiente página.

Página 15
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Lo aconsejable es que no utilicemos ninguna de estas palabras para nombrar


variables, aunque si lo hacemos lo que pasará es que la función correspondiente ya no
estará disponible en el programa. Al igual que tampoco se permite utilizar las palabras
reservadas que veíamos antes, como nombres de variables.

Como veremos en la Sesión 3, en python vamos a poder crear nuestras propias


funciones. También vamos a poder utilizar funciones existentes en otros módulos o
ficheros externos, para lo cual tendremos que importarlas (import). Python incluye
una biblioteca de módulos muy extensa, llamada Biblioteca estándar especializados en
todo tipo de tareas (operaciones matemáticas, tratamiento de fechas, encriptación,
funciones relacionadas con Internet, etc.). En el Anexo I, se explica con detalle de
como utilizar la importanción de librerías.
Además de la biblioteca estándar, existen miles de módulos escritos por diferentes
programadores y accesibles en Internet.

Finalmente comentar un par de detalles, python emplea los : para determinar el inicio de
un nivel de agrupamiento o bloque, en las estructura condicionales, repetitivas y en la
definición de funciones.
Ejemplos:

if numero1 > numero2:

...

Página 16
Programación en Python - Sesión 2: Introducción al Lenguaje Python

while numero <= 10:

...
def calcula_resultado:

...

Así, como otros lenguajes como C, PHP, etc, cuentan con elementos en el lenguaje
para representar la estructura condicional de selección múltiple como el switch o el
case, python no dispone de estas estructuras, en lugar de eso emplea la estructura
que se muestra a continuación:

if …
...
elif ...

elif ...

[else]

Opcionalmente al final puede haber un else, lo cual indica que si no se ha cumplido


ninguna de las condiciones anteriores, se ejecutará el bloque de código del else.

Ejemplo:
Si letra == ‘A’:

elif letra == ‘B’:

elif letra == ‘C’:

else:

Página 17
Programación en Python - Sesión 2: Introducción al Lenguaje Python

4.- Variables. Tipos de Datos


Variables
Algunos lenguajes de programación como C, C++ o Java, exigen que antes de utilizar
una variable se declare, es decir que se defina el tipo de información que se va a
guardar en dicha variable. En cambio, otros lenguajes de programación como
Python o PHP no lo exigen, de manera que es el intérprete del lenguaje el que decide
cual es el tipo datos que va a almacenar una variable, en función del tipo de
información que se almacena, al aparecer por ejemplo referenciada en una instrucción
de asignación.

Ejemplos:


dato = 10 + 2
letra = ‘A’
radio = 5.16

En este ejemplo la variable dato almacenará números enteros, la variable letra caracteres
y radio números decimales o reales.
Los lenguajes que requieren definir los tipos de las variables se denominan lenguajes
tipificados y los que no se denominan lenguajes no tipificados, como es el caso del
python. Aunque a partir de la versión 3.5 de Python, se ha introducido la posibilidad de
indicar los tipos de datos, de los argumentos de las funciones y de los valores devueltos.

El tratamiento que tiene python a la hora de considerar las variables difiere un poco al
resto de lenguajes, puesto que como es un lenguaje orientado a objetos, en lugar de
entenderse como “cajas” en las que se almacenan datos, en Python las variables
son "etiquetas" que permiten hacer referencia a los datos, los cuales se guardan en
unas "cajas" llamadas objetos. Bien, no vamos a entrar en más diquisiciones y detalles
sobre el tratamiento interno de las variables en python, porque tampoco es el objetivo del
curso. Por tanto, nosotros las trataremos como variables normales y corrientes.

Página 18
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Definición de Variables
De lo comentado anteriormente, podemos deducir como se define una variable, pero
bueno de todas formas lo vamos a expresar de forma explícita. En python las variables
se crean cuando se definen por primera vez asinándoles un valor con el operador
de asignación =.

Ejemplos:
x = 2.5
nombre = "Pepito Pérez"
a = 10

Hay que tener cuidado con acceder a consultar el valor de una variable cuando esta no ha
sido definida, ya que como no existe para python, esto provocará un error, tal y como
podemos ver a continuación:

También hay que tener cuidado con las mayúsculas y minúsculas en los nombres de
las variables, puesto que como podemos ver en el ejemplo de la siguiente página,
Nombre , nombre y NOMBRE son variables distintas.

Página 19
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Una característica que presenta el IDLE en relación a las variables, es que para que éste
visualice el valor de una variable, basta con escribir su nombre.

En la siguiente imagen podemos apreciar un ejemplo de esto:

Tipos de Datos
Los tipos de datos que existen en python se pueden clasificar en simples y
estructurados, en cuanto a los simples ya hemos ido haciendo referencia a ellos a lo
largo de la documentación de esta sesión y son los que nos permiten asignar un único
valor a una variable. Mientras que los estructurados, cuentan con una estructura
que permite asignar un conjunto de valores a una única variable. Es decir, utilizando
una única variable, vamos a poder tener acceso a múltiples valores.

En el esquema de la siguiente página, podemos apreciar la clasificación que se establece


dentro de los tipos de datos simples.

Página 20
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Datos Enteros
a=5
b = a * 10

Datos Decimales
dato1 = 5.45
Tipos de Datos Simples dato2 = dato1 * 10.5

Cadenas de Texto
nombre1 = “Pepito”
nombre2 = “Juan”

Booleanos
cierto = True
falso = False
If cierto:
print(“El dato es cierto”)

Las cadenas de texto tienen su operaciones específicas que se pueden realizar sobre
las variables que son de este tipo, entraremos en detalle sobre estas operaciones en
el Anexo II.

El tipo de datos booleano solo puede tomar 2 valores True (cierto) y False (falso),
realmente se puede considerar como un subtipo de los enteros, puesto que el valor True
está asignado al 1 y el False al 0.

Página 21
Programación en Python - Sesión 2: Introducción al Lenguaje Python

A continuación, podemos ver los tipos de datos estructurados que existen en Python:

Listas
bebida = [‘refresco’,‘zumo’,’cafe’]

Tipos de Datos Estructurados Tuplas

Diccionarios
diccionario = {'nombre' : 'Antonio',
'edad' : 18, ‘cursos’:[‘Inglés’,
’Programación’] }

De los 3 tipos de datos estructurados o compuestos, nosotros vamos a trabajar con las
Listas y los Diccionarios, puesto que dadas las características del curso, sería
demasiado extenso ver los 3 tipos. Las listas son variables que contienen un conjunto
de elementos ordenados, son muy versátiles porque no es necesario que todos los
elementos sean del mismo tipo, es decir pueden haber datos numéricos tanto enteros
como con decimales, cadenas de texto, booleanos, etc.
En el siguiente ejemplo, podemos comprobar como la lista lista_elementos, esta
formada por 2 cadenas, un número entero y otro decimal.
lista_elementos = [‘pan’, ‘huevos’, 100, 12.4]

Un Diccionario es una Estructura de Datos que nos permite almacenar pares de


valores clave: valor. De forma parecida a las Listas, los valores pueden ser de cualquier
tipo, incluso puede contener listas.
En la Sesión 3, se explicarán con detalle los tipos de Datos Estructurados (Listas y
Diccionarios), operaciones relacionadas, acceso a sus elementos, etc.

Página 22
Programación en Python - Sesión 2: Introducción al Lenguaje Python

5.- Entrada / Salida


Salida
La función print() es la que se utiliza para mostrar pantalla, tanto texto como variables.
Ejemplos:

print(“Hola”)
print(“Hola”,”Adiós”)
print(“El resultado es: ”,resultado)
print(‘Hola de nuevo’)

La función print() admite más de un argumento, para poder separar los argumentos

utilizamos la coma ,. Podemos apreciar 2 ejemplos de esto en el segundo y tercer


ejemplos.
Como podemos ver las cadenas se pueden delimitar tanto con las comillas dobles
como con comillas simples.
Si no queremos que python añada un salto de línea al final de un print(), se debe añadir al
final el argumento end="".

print("Hola", end="")
print("Adios")

La salida será:

HolaAdios

La función print() muestra los argumentos separados por espacios, lo que a veces puede
resultar no del todo conveniente. En el ejemplo siguiente el signo de interrogación se
muestra separado de la palabra Juan.

cadena = "Juan"
print("¿Estas ahí", cadena, "?")

Página 23
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Salida:

¿Estas ahí Juan ?

Para eliminar el espacio en blanco antes del interrogante, se puede reducir el número
de argumentos, concatenando texto y variables con el operador suma (+), según
podemos ver a continuación:

cadena = "Juan"
print("¿Estas ahí", cadena + "?")

Ahora la salida será:

¿Estas ahí Juan?

Entrada
La función input() es la que utilizaremos para leer datos del teclado. Cuando el flujo
del programa llega a esta función, el programa se detiene esperando que el usuario
escriba algo y se pulse la tecla Intro.

print("¿Cual es tu nombre?")
nombre = input()
print("Encantado de conocerte,", nombre)

A la función input() se le puede pasar un argumento, el cual será un texto que se


visualizará en la pantalla, sin añadir un salto de línea. Ejemplo:

nombre = input("¿Cual es tu nombre? ")


print("Encantado de conocerte,", nombre)

Salida:

¿Cual es tu nombre? Juan

Página 24
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Encantado de conocerte, Juan

Conversión de Tipos
Vamos a ver funciones para convertir una cadena a un entero (int), una cadena a un
decimal o real (float) y un número a una cadena (str). Estas 3 funciones nos pueden ser
de utilidad cuando utilizamos la funciones de entrada/salida.
Por defecto, la función input() convierte la entrada de datos en una cadena. Por tanto, si
queremos que Python interprete la entrada como un número entero, se debemos utilizar la
función int() de la siguiente modo:

num_pedido = int(input("Introduce el Número de Pedido: "))

Si queremos convertir el dato introducido a un número real, haremos lo siguiente:

importe_pedido = float(input("Introduce el Importe del Pedido: "))

El problema que tienen estas 2 funciones de conversión es que si introducimos un dato


que no es numérico, se producirá un error, tal y como podemos ver en la siguiente
imagen:

Vemos que el usuario ha introducido la cantidad 400J.

Página 25
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Algo parecido pasaría, cuando el usuario introduce un dato decimal y la función int()
intenta realizar la conversión.

La solución a este tipo de problemas escapa un poco al objetivo de este curso, por tanto
no lo vamos a ver. En cualquier caso, podemos introducir una método isdigit() que se
aplica a cadenas, el cual nos puede ser de utilidad cuando tenemos que introducir datos
numércos. Este método devuelve True cuando todos caracteres de la cadena son
numéricos y False en caso contrario, es decir cuando hay algún componentes que nos
es numérico. A continuación podemos ver un ejemplo:

cadena1 = "12345"
cadena2 = "12345 abc"
print (cadena1.isdigit())
print (cadena2.isdigit())

Salida:

True
False

Si tenemos que introducir un dato numérico y queremos asegurarnos de que sólo


contenga dígitos numéricos, podemos utilizar este método junto con un estructura
repetitiva while ... A continuación vemos un ejemplo:

dato_numerico = False
while not dato_numerico:
dato = input("Introduce un dato numérico ")
if (not dato.isdigit()):
print("Error – El dato contiene caracteres no numéricos")
else:
dato_numerico = True

Página 26
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Otro métodos que también nos pueden ayudar en relación con la cadenas son el upper()
y lower(). El primero convierte los carácteres a mayúsculas y el segundo a minúsculas.
A continuación, vemos un ejemplo con el método upper().

dato = input("Introduce un dato ")


dato = dato.upper()
print("Dato convertido a mayúsculas: ",dato)

La función str(), permite convertir un número a una cadena, lo cual nos puede ser útil
cuando queremos por ejemplo visualizar un texto y un número.
Ejemplo:

print("El resultado es: " + str(resultado))

Actividades Propuestas Voluntarias - Iniciales


Actividad Operaciones Aritméticas
El usuario introducirá 2 números enteros por teclado (numero1 y numero2), y el programa
calculará y mostrará el resultado de las 4 operaciones aritméticas básicas: suma, resta,
multiplicación y división.

Actividad Cálculo Hipotenusa


El usuario introducirá por teclado la base y la altura de un triángulo, suponemos que
pueden ser números reales. Recordemos que la fórmula era:

Página 27
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Para calcular la raíz cuadrada tenemos que utilizar la función sqrt que se encuentra
en la librería math, para lo cual al principio del programa tendremos que hacer un
import de esta librería y después utilizar la función sqrt, de la siguiente manera:

import math

hipotenusa = math.sqrt(…)
...

6.- Estructuras de Control


6.1.- Estructuras Condicionales. Operadores Lógicos
La estructura condicional de python tiene la siguiente sintaxis:

if condicion:
Instruccion 1
Instrucción 2

Instrucción n

else:
Instrucción A;
Instrucción B;
Bloque Opcional
...
Instrucción N

Recordemos que todas las instrucciones, tanto del bloque del if como del else,
deben de tener el mismo sangrado. Para formar la condición, se empleará una
estructura, con tiene la siguiente composición:

Variable o Constante Operador Relacional Variable o Constante

Página 28
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Ejemplos:

If numero1 > numero:


If nota > 5:
If 0 < numero:

También hay que recordar y resaltar los dos puntos :, con los que se delimita tanto el
inicio del bloque del if como del else.

Actividades Propuestas Voluntarias - Condicionales


Actividad Comparación de 2 Números
El usuario introducirá 2 números por teclado y el programa informará cual de los 2
números es mayor.
Por ejemplo si se introduce un 5 y 8, el mensaje que se tendría que visualizar es: “El
segundo número es el mayor”

Habrá que tener en cuenta el caso en el que los 2 números sean iguales.

Actividad Número Par/Impar


El usuario introducirá un número por teclado y el programa informará si el número es par
o impar. Para determinar si un número es par, comprobaremos si el resto de la
división entre 2 es 0. El operador que tenemos que utilizar para obtener el resto de la
división es el %.

Operadores Lógicos
Hasta ahora las condiciones que hemos visto en las estructuras condicionales, eran
simples, es decir estaban formadas por una pregunta con un único término. Los
operadores lógicos OR y AND nos permiten construir condiciones compuestas, cuyas
preguntas están formadas por más de un término. A estos 2 operadores hay que
sumarle el NOT.
En lugar de tener una sola condición, vamos a poder tener varias subcondiciones,
unidas por un operador lógico.

Página 29
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Cuando tenemos varias subcondiciones, cada una de ellas nos dará un resultado cierto ó
falso a la pregunta que se plantea.

En el esquema siguiente, podemos apreciar cómo se forma una condición compuesta.

Subcondición 1 Operador Lógico Subcondición 2

Ejemplos:

if numero > 0 and numero < 5:


if numero = 2 or numero = 3:

La subcondicion 1 nos devolverá un resultado (verdadero o falso) y la subcondicion 2 otro


resultado (verdadero o falso)

Evidentemente, cada una de las subcondiciones, estará formada por la misma estructura
con la que formábamos las condiciones:

Subcondición

Variable o Constante Operador Relacional Variable o Constante

Para determinar si el resultado final de la condición es cierto o falso, tendremos que


aplicar la tabla de verdad del operador lógico que hayamos empleado, la cual nos
permite saber cuál es el resultado final (TRUE o FALSE) a partir de los dos

Página 30
Programación en Python - Sesión 2: Introducción al Lenguaje Python

resultados parciales (TRUE o FALSE).


A continuación, se muestran las tablas de verdad de los 2 operadores lógicos OR y
AND.

Tabla de verdad Operador Lógico OR

Cierto Falso

Cierto Cierto Cierto

Falso Cierto Falso

Tabla de verdad Operador Lógico AND

Cierto Falso

Cierto Cierto Falso

Falso Falso Falso

El operador lógico NOT se antepone a una condición, e invierte el valor devuelto por
la misma, de manera que por ejemplo en un If, se ejecutará el bloque de código asociado
al If cuando la respuesta a la pregunta de la condición sea falsa.
Ejemplo:

if not x1>x2:

Si x1 no es mayor a x2, se ejecutará la rama del verdadero de la estructura


condicional, es decir al contrario que si no estuviera el NOT.

Actividades Propuestas Voluntarias - Condicionales Operadores Lógicos


Actividad Cálculo Nota
El usuario introducirá una nota entera cuyo valor suponemos que se encontrará entre
0 y 10. A continuación se visualizará un mensaje informando al usuario si el alumno ha
aprobado o no. En el caso de que el alumno haya aprobado, se visualizará un

Página 31
Programación en Python - Sesión 2: Introducción al Lenguaje Python

mensaje informando si alumno ha sacado un notable, es decir la nota se encuentra


entre 7 y 8.
Si el alumno ha suspendido se volverá a solicitar la nota de la recuperación, en este
caso solo pueden haber 2 posibles caminos, que el alumno haya aprobado la
recuperación (la nota debe ser mayor o igual que 5) o que la haya suspendido (la nota es
menor de 5). En cualquiera de los 2 casos, se informará de ello al usuario. Por ejemplo:
“El alumno ha aprobado la recuperación”.

Actividad Cálculo Nota Actitud


En esta el usuario introducirá la nota de la actitud, la cual será de tipo textual. Los valores
válidos serán:
‘B’ => Buena
‘R’ => Regular
‘M’ => Mala
Para calcular la nota numérica tendremos la siguiente equivalencia:
‘B’ => 10
‘R’ => 6
‘M’ => 4
Una vez que la hayamos calculado la mostraremos.

En el caso de que la nota de la actitud introducida no sea correcta, es decir no se


corresponda con ninguno de los 3 valores válidos (‘B’,’R’,’M’) visualizaremos un
mensaje de error.

Estructura Condicional de Selección Múltiple


En este tipo de estructuras condicionales, permiten encadenar varias condiciones
seguidas con un mismo nivel de anidamiento. La sintaxis es la siguiente:
if condicion:
...
elif condicion elif 1:
...
...

Página 32
Programación en Python - Sesión 2: Introducción al Lenguaje Python

elif condicion elif N:


...
else:
Bloque Opcional
...

Ejemplo:

...
if edad < 0:
print(“Edad no permitida”)
elif edad < 18:
print(“Menor de Edad”)
else:
print(“Mayor de Edad”)
...

Actividades Propuestas Voluntarias - Condicionales Selección Múltiple


Actividad Cálculo Nota Textual
El usuario introducirá una nota entera cuyo valor suponemos que se encontrará entre
0 y 10. A continuación se visualizará un mensaje informando al usuario de cual es la
equivalencia textual a esta nota, según la siguiente equivalencia:
entre 0 y 3 => Muy Deficiente
4 => Insuficiente
5 => Suficiente
6 => Bien
entre 7 y 8 =>Notable
entre 9 y 10 => Sobresaliente

Página 33
Programación en Python - Sesión 2: Introducción al Lenguaje Python

6.2.- Estructuras Repetitivas


Las 2 estructuras repetitivas o bucles que vamos a ver son el for ... y el while …
Recordemos que estas estructuras repetitivas nos a van permitir repetir la ejecución de
un bloque de instrucciones un número determinado de veces.

Estructuras Repetitiva For


Recordemos que esta estructura se suele utilizar, cuando conocemos a priori cuantas
veces tenemos que realizar el bucle.
La sintaxis es la siguiente:

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


cuerpo del bucle

La variable de control del bucle está resaltada de color azul, se encuentra después de
la palabra for y aparece nombrada como variable.
El cuerpo del bucle se ejecutará tantas veces como elementos tenga el elemento
iterable o recorrible, el cual puede ser una lista, un rango o caracteres de una cadena.
Veamos algunos ejemplos:
En el siguiente ejemplo se utiliza una lista como elemento iterable.

print("Inicio")
for i in [0, 1, 2]:
print("Elemento", i)
print()
print("Fin")

El resultado de la ejecución anterior sería:

Inicio

Página 34
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Elemento 0
Elemento 1
Elemento 2
Fin

Recordemos que como las listas pueden contener cualquier tipo de datos, también
podríamos haber tenido cadenas en la lista, como podemos ver en el siguiente ejemplo:

for i in ["Antonio", "Juan", "Maria"]:


print("Hola", i)
print()

El resultado de la ejecución anterior sería:

Hola Antonio
Hola Juan
Hola María

Ahora vamos a emplear como elemento iterable los caracteres de una cadena.

for i in "ANTONIO":
print( i, end="" + " ")

El resultado es:

ANTONIO

Por último vamos a emplear un rango como elemento iterable:

for i in range(3):
print( i, end="" + " ")

Página 35
Programación en Python - Sesión 2: Introducción al Lenguaje Python

El resultado es:

012

Aunque también podemos indicar los rangos de la siguiente manera:

for i in range(1, 6):


print( i, end="" + " ")

El resultado es:

12345

Es decir hemos indicado el valor inicial del rango y el valor final.

Actividad Propuestas Voluntaria – Iteración For


Actividad Números Pares entre 1 y N
El usuario introducirá un número por teclado y el programa calculará y visualizará los
números pares existentes entre 1 y el número introducido por el usuario. En esta
ocasión, también hay que utilizar la iteración for.
Por ejemplo, si el usuario introduce un 9 por teclado, el programa visualizará:

2
4
6
8

Estructuras Repetitiva While


Esta estructura se suele utilizar cuando no conocemos a priori cuantas iteraciones
tenemos que realizar, aunque también se suele emplear cuando conocemos a priori el
número de iteraciones a realizar.

Página 36
Programación en Python - Sesión 2: Introducción al Lenguaje Python

La sintaxis es la siguiente:

while condicion:
cuerpo del bucle

La forma de construir el apartado condición, es exactamente igual que en la estructura


condicional. A continuación podemos ver algunos ejemplos:

i=1
print("Inicio")
while i <= 3:
print(i)
i += 1
print("Fin")

El resultado sería:

Inicio
1
2
3
Fin

Vemos como para incrementar la variable i de control del bucle, hemos empleado un
tipo de instrucción de asignación digamos simplificado (i +=1), la instrucción no
simplificada que podríamos haber empleado es: i = i +1.
En este tipo de bucles, donde tenemos que llevar nosotros la cuenta de la variable de
control del bucle, en este caso i, debemos de tener cuidado, porque si se nos olvida
incluir la instrucción del cuerpo del bucle que cambia el valor a la variable de control
(i += 1), entonces tendríamos un bucle infinito.
Por contra esto no ocurre, en los bucles for, puesto que el control de este variable es
automático.

Página 37
Programación en Python - Sesión 2: Introducción al Lenguaje Python

En este otro ejemplo, no conocemos a priori cuantas veces tenemos que realizar el bucle,
se trata de introducir un número mayor de 100. El bucle se repetirá tantas veces como
sea necesario, mientras que el número introducido no se mayor de 100.
numero = 0

numero = 0
while numero <= 100:
numero = int(input("Introduce un número mayor que 100: "))
if numero <= 100:
print("Has introducido un número menor de 100. Inténtalo de nuevo")

Actividad Propuesta Voluntaria – Iteración Mientras


Actividad Introducción Nota Válida
En esta actividad el usuario introducirá un valor de una nota, de manera que el valor de
esta debe encontrarse entre 0 y 10, en caso contrario visualizaremos un mensaje de error.
Una vez que haya finalizado el bucle, visualizaremos con un mensaje de texto si el
alumno ha obtenido un sobresaliente.
El control se puede realizar de varias formas, podemos utilizar una forma de control,
en la cual la información de si la nota es válida o no, se realiza a través de una variable
auxiliar que llamaremos nota_valida y que actuará como variable flag o testigo. Esta
variable solo va a tomar los valores 0 y 1, de manera que cuando la nota no sea válida el
valor será 0 y si es válida el valor será 1.
También podemos controlar que el valor de la nota es válido, empleando una
condición en el mientras (while), en la que utilicemos el operador lógico OR.

Página 38
Programación en Python - Sesión 2: Introducción al Lenguaje Python

7.- Actividad Obligatoria


Actividad Entrega Obligatoria: Cálculo Áreas Geométricas
Se trata de calcular el área de unas figuras geométricas, para lo cual en primer lugar el
usuario introducirá por teclado un carácter que indicará la figura de la cual desea
calcular el área. Los valores posibles serán:
‘C’ => Cuadrado
‘I’ => Círculo
‘T’ => Triángulo

Si el tipo de figura introducido no es correcto, el programa visualizará un mensaje de


error y volverá a preguntar este dato.

Una vez que el tipo de figura es correcto, si se trata de un cuadrado el programa


solicitará el lado, en cambio si es un círculo solicitará el radio y si es un triángulo la
base y la altura. Suponemos que todos estos datos son número reales.
Una vez solicitada la información correspondiente a la figura en cuestión, el programa
calculará el área en cuestión y visualizará el resultado del área calculada.

Los fórmulas de cálculo que hay que emplear para calcular cada área, son las siguientes:
Área del Cuadrado => lado * lado
Área del Círculo => Π * r2
Área del Triángulo => (base * altura) / 2

Por ejemplo, si el usuario elije calcular el área de un círculo de radio 3, el mensaje que
tendrá que visualizar el programa principal, será:
El área de un círculo de radio 3 es: 28.27

A la hora de calcular el área de un círculo, hay que tener cuidado si se utiliza el


operador potencia **, puesto que no admite bases reales, por tanto, habrá que hacer
una conversión a un número entero de la base, en el momento del cálculo.

Página 39
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Una vez que el programa visualiza el área geométrica del tipo de figura en cuestión, se
preguntará al usuario si desea calcular el área de otra figura geométrica (S/N). De
manera que si el usuario responde que Sí (S), el programa volverá a preguntar por el
tipo de figura y se volverá a repetir todo el proceso.
Podemos deducir que existirá una estructura repetitiva while ..., que contendrá todo el
programa y que nos permitirá controlar si el usuario desea calcular más áreas, tal y como
se muestra a continuación.
...
while condición:

// Preguntamos al usuario si desea calcular el área de más figuras
….

Además, al final el programa tendrá que visualizar la cantidad de figuras de cada tipo
de las que se ha calculado el área, para lo cual tendremos que acumular en las
variables pertinentes (num_cuadrados, ...) esta información, la cual será después
visualizada. El esqueleto del programa podría quedar de la siguiente manera:

# Inicialización de variables empleadas para determinar el número de cada tipo de


# figura
...
while condición 1: # Para controlar si se desean introducir más figuras

while condicion 2: # Para controlar que el tipo de figura introducido es correcto

….
# Visualización de variables empleadas para determinar el número de cada tipo de
# figura

El nombre que tendrá el programa que tendremos que entregar será: calculo_areas.py.

Página 40
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Ampliación Voluntaria 1:
Esta ampliación o variante NO ES NECESARIO ENTREGARLA y pretende que los
alumnos pueden emplear también la estructura iterativa for i in …:. La estructura
repetitiva while condicion 1: que teníamos antes la sustituiremos por esta nueva
estructura for …:.
Al principio el programa nos preguntará de cuantas figuras queremos calcular el área
(num_figuras). Los valores permitidos deben encontrarse entre 1 y 5, para realizar este
control tendremos que utilizar una estructura repetitiva while …:

En esta ampliación una vez que ha sido mostrado el resultado del cálculo de la primera
área, ya no preguntaremos al usuario si quiere introducir más figuras, puesto que al
principio ya lo hemos solicitado.
Ahora el esqueleto del programa tendrá el siguiente aspecto:

# Inicialización de variables empleadas para determinar el número de cada tipo de


# figura

# Introducción y control del número correcto de figuras

while condicion 1:
...
for i in …: # Para el área del número de figuras solicitadas

while condicion 2: # Para controlar que el tipo de figura introducido es correcto

….
# Visualización de variables empleadas para determinar el número de cada tipo de
# figura

Página 41
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Anexo I Importación de Módulos


Dentro de un programa python, cuando necesitemos hacer uso de alguna
funcionalidad que no se encuentre presente dentro de las funciones integradas o
built-in, podemos incluirla en nuestro código a partir de la gran cantidad de funciones
existentes en las librerías estándar de python.
La zona reservada en nuestro programa para incluir las librerías que necesitemos, es en
el principio del programa.
Por ejemplo, si queremos utilizar la función sqrt que nos calcula la raíz cuadrada,
importaremos las funciones de la librería math.

import math

hipotenusa = math.sqrt(lado1**2 + lado2**2)

Tenemos distintas posibilidades de realizar la inclusión de librerías.

➔ Inclusión únicamente del nombre del módulo, la sintaxis sería:


import nombre_modulo

Esta forma de importar no incluye en nuestro módulo el nombre de las funciones


existentes dentro del módulo nombre_modulo, sino que únicamente incluye el nombre
del módulo, por esta razón, cada vez que queramos utilizar una función tenemos que
anteponer al nombre de la función, el nombre del módulo más un punto,
nombre_modulo.nombre_funcion()
Ejemplo:

import os

os.mkdir(“prueba”)

En este ejemplo hemos importado el módulo os y posteriormente hemos utilizado la


función mkdir para crear el directorio prueba.

Página 42
Programación en Python - Sesión 2: Introducción al Lenguaje Python

➔ Inclusión de los todos nombres de las funciones al espacio de nombres del


módulo. Sintaxis:

from nombre_modulo import *

Cada módulo tiene su propio espacio de nombres, de manera que cuando


realizamos la importación de esta manera, estamos incluyendo en el espacio de
nombres del módulo todos los nombres de las funciones del módulo importado.
Tiene la ventaja de que cuando queremos utilizar cualquier función, simplemente
tecleamos su nombre, pero por otra parte tenemos que asegurarnos que ninguna de las
funciones que incluye el módulo importado, coincide con el nombre de alguna función
propia de nuestro módulo que hayamos creado.
Ejemplo:

from os import *

directorio_actual = getcwd()

En este ejemplo, la función getcwd() nos devuelve cual es el directorio actual, vemos
que ya no es necesario incluir delante del nombre de la función el nombre del
módulo.

➔ Inclusión sólo de nombres concretos de funciones al espacio de nombres del


módulo. Sintaxis:

from nombre_modulo import nombre_funcion_1, …, nombre_funcion_n

Esta forma es una variante de la anterior, de manera que en lugar de importar todos los
nombres de las funciones, sólo se importan aquellos nombres que se especifican
en la lista de funciones importadas.
Ejemplo:

from os import remove, rmdir

Página 43
Programación en Python - Sesión 2: Introducción al Lenguaje Python


remove(“fichero.txt”)

Hemos incluido en el espacio de nombres del módulo tan solo el nombre de las
funciones remove y rmdir.

Anexo II Operaciones con Cadenas


Recordemos que las cadenas están formadas por una secuencia de caracteres, los
cuales están delimitados por las comillas simples o dobles.
Ejemplos:

cadena1 = “Cadena de prueba”

cadena2 = ‘Otra cadena’

También tenemos la posibilidad de visualizar un texto en varias líneas, incluyendo


intros en la cadena de texto, para lo cual utilizaremos las comillas triples para delimitar el
texto.
Ejemplo:

mensaje = “””Esta es una prueba de un mensaje


en varias lineas para ver como funcionan
las comillas triples”””

print(mensaje)

Lo que se visualizará será lo siguiente:

Esta es una prueba de un mensaje


en varias líneas para ver como funcionan
las comillas triples

Página 44
Programación en Python - Sesión 2: Introducción al Lenguaje Python

El operador que tenemos para unir o concatenar cadenas es el +, de manera que


podemos obtener una cadena resultante, como resultado de concatenar 2 cadenas.
Ejemplo:

cadena1 = “José Vicente ”


cadena2 = “García Pérez”
cadena_resultante = cadena1 + cadena2
print(cadena_resultante)

El resultado será:

José Vicente García Pérez

A continuación, vamos a describir la función len y el operador in, los cuales suelen ser
bastante habituales cuando trabajamos con cadenas:
- len(cadena), permite obtener la longitud de una cadena, nos devolverá un número
entero
Ejemplo:

cereal =”avena”
print(len(cereal))

El resultado sería:

- operador in, se utiliza para comprobar si uno o más caracteres se encuentran en la


cadena. Devolverá un valor booleano, True o False.

En la imagen de la siguiente página podemos ver algunos ejemplos.

Página 45
Programación en Python - Sesión 2: Introducción al Lenguaje Python

Podemos acceder a los caracteres individuales de una cadena, indicando entre


corchetes con un número entero, el elemento de la cadena al cual queremos
acceder. En programación cuando accedemos a estos elementos individuales, hablamos
de que utilizamos un índice con el cual podemos seleccionar el elemento. El valor del
índice para acceder al primer elemento de una cadena, siempre será el 0.
A continuación, podemos ver como queda representada la cadena cereal.

0 1 2 3 4
a v e n a

Podemos acceder a los elementos individuales de la cadena para preguntar por ellos, en
una condición, para visualizar su valor, etc.
Ejemplos:

if cereal[0] == “a”:
...
print(cereal[indice])

Como podemos observar, podemos acceder a los elementos de una cadena, no solo a
través de una constante, sino también mediante una variable, en este caso indice.

Página 46
Programación en Python - Sesión 2: Introducción al Lenguaje Python

También podemos acceder a porciones de nuestras cadenas, indicando por


ejemplo:

print(cereal[1:3])
print(cereal[2:])
print(cereal[:2])

El resultado sería:

ven
ena
av

Dentro de las cadenas podemos incluir caracteres especiales como el salto de línea,
la tabulación, etc., todos estos caracteres siempre aparecerán representados por un
primer carácter de escape, que será la \, seguido del carácter en cuestión.

En la siguiente imagen, podemos ver algunos ejemplos de utilización de estos caracteres


especiales:

Página 47

También podría gustarte