TEMA 1 - Introducción A Python
TEMA 1 - Introducción A Python
PYTHON
1
INTRODUCCIÓN A PYTHON
INTRODUCCIÓN A PYTHON
Introducción
Configuración del entorno de desarrollo
Elementos de un programa Python
Variables
Tipos de datos
Entrada y salida
Estructuras de control
Funciones
2
INTRODUCCIÓN
¿Qué es más
Subetapas Python?
comunes
6
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
8
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
9
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
11
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
Para crear una nueva celda, haz clic en el botón "+" en el menú
superior izquierdo:
14
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
15
INTRODUCCIÓN
Configuración
Subetapas más comunes del entorno de desarrollo
17
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Líneas y espacios
Un programa de Python está formado por líneas de texto.
Se recomienda que cada línea contenga una única instrucción,
aunque puede haber varias instrucciones en una línea,
separadas por un punto y coma (;).
Por motivos de legibilidad, se recomienda que las líneas no
superen los 79 caracteres. Si una instrucción supera esa
longitud, se puede dividir en varias líneas usando el carácter
contrabarra (\)
19
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Líneas y espacios
Los elementos del lenguaje se separan por espacios en blanco
(normalmente, uno), aunque en algunos casos no se escriben
espacios:
• entre los nombres de las funciones y el paréntesis
• antes de una coma (,)
• entre los delimitadores y su contenido (paréntesis,
llaves, corchetes o comillas)
Los espacios no son significativos, es decir, da lo mismo un
espacio que varios, excepto al principio de una línea.
20
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Líneas y espacios
Los espacios al principio de una línea (el sangrado) indican un
nivel de agrupamiento. El sangrado inicial es una de las
características de Python que lo distinguen de otros lenguajes,
que utilizan un carácter para delimitar agrupamientos (en
muchos lenguajes se utilizan las llaves { }). Por ello, una línea
no puede contener espacios iniciales, a menos que forme parte
de un bloque de instrucciones o de una instrucción dividida en
varias líneas.
El carácter almohadilla (#) marca el inicio de un comentario.
Python ignora el resto de la línea (desde la almohadilla hasta
el final de la línea).
21
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Literales
Los literales son los datos simples que Python es capaz de
manejar:
• números: valores lógicos, enteros, decimales y
complejos, en notación decimal, octal o hexadecimal
• cadenas de texto
Delimitadores
Los delimitadores son los caracteres que permiten delimitar,
separar o representar expresiones. Son los siguientes:
' " # \
( ) [ ] { } 24
, : . ; @ = ->
+= -= *= /= //= %= @=
&= |= ^= >>= <<= **=
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Operadores
Python tiene algunas características de la programación
funcional. Esto quiere decir que está basada en una
programación declarativa de funciones matemáticas.
Operadores aritméticos: Al hacer operaciones con números
enteros y decimales el resultado es siempre decimal
En el caso de que el resultado no tenga parte decimal, Python
escribe 0 como parte decimal.
Suma +
Resta -
Multiplicación *
División /
Potencia ** 25
Resto %
Cociente //
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Operadores
Operadores lógicos: son utilizados, en la mayoría de las
ocasiones, en las estructuras condicionales. Los resultados que
devuelven son de tipo booleano, es decir, verdadero (True) o falso
(False).
Igual que ==
Distinto que !=
Mayor que >
Mayor o igual que >=
Menor que <
Menor o igual que <=
26
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Operadores
Expresiones compuestas: Se utilizan para evaluar varias
expresiones lógicas.
• and: "y" lógico. Este operador da como resultado True si y
sólo si sus dos operandos son True
• or: "o" lógico. Este operador da como resultado True si
algún operando es True
• not: negación. Este operador da como resultado True si y
sólo si su argumento es False
Python evalúa primero los not, luego los and y por último los or
Se recomienda utilizar paréntesis para asegurar el orden de las
27
operaciones.
INTRODUCCIÓN
Elementos de un programa Python
Subetapas más comunes
Funciones adicionales
Un programa puede definir nuevas funciones o redefinir las
funciones integradas. Los nombres de las funciones no pueden
coincidir con las palabras reservadas.
Un programa puede también importar nuevas funciones que se
encuentran definidas en otros ficheros llamados módulos.
Python incluye una biblioteca de módulos (llamada Biblioteca
estándar - https://docs.python.org/3/library/) especializados en
todo tipo de tareas.
Además de la biblioteca estándar, existen miles de módulos
escritos por diferentes programadores y accesibles en Internet.
El principal repositorio de módulos es el Python Package Index
28
(Índice de paquetes de Python - https://pypi.python.org/pypi),
más conocido por PyPI.
INTRODUCCIÓN
Variables
Subetapas más comunes
32
INTRODUCCIÓN
Variables
Subetapas más comunes
35
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
• …
• Cadenas: Aunque las cadenas no son usualmente importantes para
análisis numérico, sí lo son para mostrar resultados por la terminal
o shell. Una cadena debe delimitarse con comillas simples o dobles y
admite caracteres de escape.
• Listas: Una lista es una colección de objetos: números enteros,
flotantes, complejos, cadenas, etc. Una lista se delimita utilizando [ ]
y sus elementos han de separarse con comas. Es posible acceder a
sus elementos indicando el índice del elemento deseado.
• Tuplas: En muchos sentidos una tupla es como una lista, contienen
una colección de objetos de distinto tipo. Es decir, son lista de
elementos de diferente tipo de dato.
• Una lista puede ser alterada, no así una tupla.
• Una tupla puede ser utilizada como clave en un diccionario, no así una
37
lista.
• Una tupla consume menos espacio que una lista.
• …
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
• …
• Diccionario: Un diccionario se compone de dos partes: una clave
(palabra) y un valor (definición). Las claves siempre deben ser un
tipo de datos primitivo. La clave y el valor se separan con : y sus
elementos con comas.
38
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Números
Python distingue entre números enteros y decimales. Al escribir un
número decimal, el separador entre la parte entera y la parte decimal
es un punto.
• OJO: Si se escribe una coma como separador entre la parte entera y la
decimal, Python no lo entiende como separador, sino como una pareja de
números (concretamente, lo entiende como una tupla de dos elementos
Si se escribe un número con parte decimal 0, Python considera el
número como número decimal.
Python trae soporte por defecto para los números complejos, dónde la
parte imaginaria va a estar representada por la letra j en lugar de
utilizar la i como en la notación matemática.
39
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Números
Al sumar, restar o multiplicar números enteros, el resultado es entero.
Al dividir números enteros, el resultado es siempre decimal, aunque sea
un número entero.
• Cuando Python escribe un número decimal, lo escribe siempre con parte
decimal, aunque sea nula.
Números
Cuando en una fórmula aparecen varias operaciones, Python las
efectúa aplicando las reglas usuales de prioridad de las operaciones
(primero multiplicaciones y divisiones, después sumas y restas)
• En caso de querer que las operaciones se realicen en otro orden,
se deben utilizar paréntesis
El operador cociente // tiene la misma prioridad que la división. El
resultado es siempre un número entero, pero será de tipo entero o
decimal dependiendo del tipo de los números empleados (en caso de ser
decimal, la parte decimal es siempre cero).
El operador resto % tiene la misma prioridad que la división. El resto
de la división tendrá tipo entero o decimal, de acuerdo con el resultado
de la operación.
41
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Números
Las potencias tienen prioridad sobre las multiplicaciones y divisiones.
Utilizando exponentes negativos o decimales se pueden calcular
potencias inversas o raíces n-ésimas.
También se pueden calcular potencias o raíces mediante la función
pow(x,y). Si se da un tercer argumento, pow(x, y, z), la función es
igual a xy % z.
Para redondear un número se puede utilizar la función round(). Admite
uno o dos argumentos numéricos.
• Si sólo hay un argumento, la función devuelve el argumento redondeado
al entero más próximo
• Si se escriben dos argumentos, siendo el segundo un número entero, la
función round() devuelve el primer argumento redondeado en la posición
indicada por el segundo argumento. Si el segundo argumento es
42
negativo, se redondea a decenas, centenas, etc. Si el segundo argumento
es 0, se redondea al entero más próximo pero el resultado es decimal y
no entero.
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Números
Para redondear un número al entero anterior o posterior, se pueden
utilizar las funciones floor() y ceil(), que están incluidas en la
biblioteca math. Estas funciones sólo admiten un argumento numérico
y devuelven valores enteros.
Antes de utilizar estas funciones, hay que importarlas, o se generará un
error: from math import floor
La función integrada abs() calcula el valor absoluto de un número, es
decir, el valor sin signo.
43
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Booleanos
En Python cualquier variable (en general, cualquier objeto) puede
considerarse como una variable booleana. En general, los elementos
nulos o vacíos se consideran False y el resto se consideran True.
Para comprobar si un elemento se considera True o False, se puede
convertir a su valor booleano mediante la función bool().
44
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Cadenas de texto
Una cadena es una secuencia inmutable de caracteres Unicode,
delimitada por comillas.
• Las cadenas de texto se pueden delimitar con comillas simples (') o con
comillas dobles ("). Son completamente equivalentes.
Las comillas triples permiten que las cadenas ocupen más de una línea.
• Se utilizan, sobre todo, para la documentación de módulos,
funciones, clases o métodos. Son las llamadas docstrings,
definidas en el PEP 257 (https://www.python.org/dev/peps/pep-
0257/). Son cadenas que se escriben al principio del elemento
describiendo lo que hace el elemento. No producen ningún
resultado en el programa, pero las herramientas de
documentación de Python pueden extraerlas para generar
documentación automáticamente. 45
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Cadenas de texto
Se pueden escribir comillas simples en cadenas delimitadas con
comillas dobles y viceversa.
Otra forma de escribir comillas en una cadena es utilizar los caracteres
especiales \" y \' que representan los caracteres comillas dobles y
simples respectivamente y que Python no interpreta en ningún caso
como delimitadores de cadena.
• Se pueden utilizar ambos caracteres especiales
independientemente del delimitador utilizado
• Otros caracteres especiales:
• Salto de línea: \n
• Tabulador: \t
46
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Cadenas de texto
En el Jupyter Notebook se pueden escribir cadenas sueltas, sin
necesidad de escribir la función print()
47
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Cadenas de texto
También es posible concatenar una variable de tipo string con una
cadena o concatenar directamente dos variables.
Cadenas de texto
La concatenación entre strings y números también es posible, siendo
para ello necesario el uso de funciones como int() y str().
49
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Cadenas de texto
Una cadena es inmutable en Python, pero podemos acceder, a través de
índices, a cada carácter que forma parte de ella.
Los índices también nos pueden ayudar a obtener subcadenas de texto
basadas en la original.
Los índices negativos también funcionan, simplemente indican que se
empieza a contar desde el último carácter.
50
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Las listas son conjuntos ordenados de elementos (números, cadenas,
listas, etc.). Las listas se delimitan por corchetes ([ ]) y los elementos se
separan por comas.
Las listas pueden contener
• elementos del mismo tipo
• elementos de tipos distintos
• listas
Las listas pueden tener muchos niveles de anidamiento
Las variables de tipo lista hacen referencia a la lista completa
Una lista que no contiene ningún elemento se denomina lista vacía
Al definir una lista se puede hacer referencia a otras variables
51
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Se puede acceder a cualquier elemento de una lista escribiendo el
nombre de la lista y entre corchetes el número de orden en la lista.
• El primer elemento de la lista es el número 0.
52
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Cada elemento se identifica por su posición en la lista, teniendo en
cuenta que se empieza a contar por 0.
Se pueden utilizar números negativos (el último elemento tiene el
índice -1 y los elementos anteriores tienen valores descendentes)
Se puede modificar cualquier elemento de una lista haciendo referencia
a su posición
53
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
De una lista se pueden extraer sublistas, utilizando la notación
nombreDeLista[inicio:límite]
Se puede modificar una lista modificando sublistas. De esta manera se
puede modificar un elemento o varios a la vez e insertar o eliminar
elementos
Al definir sublistas, Python acepta valores fuera del rango, que se
interpretan como extremos (al final o al principio de la lista)
54
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
55
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
La palabra reservada del permite eliminar un elemento o varios
elementos a la vez de una lista, e incluso la misma lista.
56
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Si queremos copiar una lista, de manera que conservemos su valor
aunque modifiquemos la lista original debemos utilizar la notación de
sublistas.
57
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Se puede recorrer una lista de principio a fin de dos formas distintas:
1. Recorrer directamente los elementos de la lista, es decir, que la variable
de control del bucle tome los valores de la lista que estamos recorriendo:
58
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Listas
Para saber si un valor está en una lista se puede utilizar el operador
in. La sintaxis sería "elemento in lista" y devuelve un valor lógico:
True si el elemento está en la lista, False si el elemento no está en la
lista.
59
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Tuplas
En Python, una tupla es un conjunto ordenado e inmutable de
elementos del mismo o diferente tipo.
• Una vez inicializada la tupla no podemos agregar, borrar o modificar sus
elementos.
Tuplas
Python posibilita la conversión de tuplas a listas y viceversa mediante
las funciones:
list(parametro de tipo tupla)
tuple(parametro de tipo lista)
Empaquetado: Se puede generar una tupla asignando a una variable
un conjunto de variables o valores separados por coma
Desempaquetado:
61
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Diccionarios
En Python, un diccionario es una colección no-ordenada de valores que
son accedidos a través de una clave.
• En lugar de acceder a la información mediante el índice numérico, como
es el caso de listas y tuplas, es posible acceder a los valores a través de
sus claves.
Diccionarios
Es posible definir un diccionario directamente con los miembros que va
a contener, o bien inicializar el diccionario vacío y luego agregar los
valores de uno en uno.
63
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Diccionarios
Para acceder al valor asociado a una determinada clave, se utiliza la
clave. Esto falla si se proporciona una clave que no esta en el
diccionario. Por ello, se recomienda utilizar la función get, que
devuelve None, o un valor por omisión que se establece opcionalmente,
si la clave no está en el diccionario.
64
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Diccionarios
Existen diversas formas de recorrer un diccionario:
1. Recorrer sus claves y usar esas claves para acceder a los valores
65
INTRODUCCIÓN
Tipos demásdatos
Subetapas comunes
Diccionarios
Para verificar si una clave se encuentra en el diccionario, se utiliza la
palabra reservada in
66
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Salida
Para que Jupyter Notebook muestre el valor de una variable, basta con
escribir su nombre.
También se puede conocer el valor de varias variables a la vez
escribiéndolas separadas por comas (Jupyter Notebook las mostrará
entre paréntesis)
En los programas, para mostrar texto o variables hay que utilizar la
función print().
• El texto a mostrar se escribe como argumento de la función
La función print() admite varios argumentos seguidos. En el
programa, los argumentos deben separarse por comas. Los argumentos
se muestran en el mismo orden y en la misma línea, separados por
espacios. 67
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Salida
Al final de cada print(), Python añade automáticamente un salto de
línea
• Si no se quiere que Python añada un salto de línea al final de un
print(), se debe añadir al final el argumento end=""
Para generar una línea en blanco, se puede escribir una orden print()
sin argumentos
Para incluir comillas dentro de comillas, se puede escribir una
contrabarra (\) antes de la comilla para que Python reconozca la
comilla como carácter, no como delimitador de la cadena o escribir
comillas distintas a las utilizadas como delimitador de la cadena
68
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Salida
La función print() permite incluir variables o expresiones como
argumento, lo que nos permite combinar texto y variables
69
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Salida
Para eliminar ese espacio, se puede reducir el número de argumentos,
concatenando texto y variables con el operador suma (+):
70
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Salida
En Python 3.6 se añadió (PEP 498 -
https://www.python.org/dev/peps/pep-0498/) una nueva notación para
cadenas llamada cadenas "f", que simplifica la inserción de variables y
expresiones en las cadenas.
Una cadena "f" contiene variables y expresiones entre llaves ({ }) que se
sustituyen directamente por su valor.
Se reconocen porque comienzan por una letra f antes de las comillas de
apertura
Salida
Las cadenas "f" permiten dar formato a las variables, siguiendo la
sintaxis del método str.format()
(https://docs.python.org/3/library/string.html#formatstrings )
72
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Entrada
La función input() permite obtener texto escrito por teclado. Al llegar
a la función, el programa se detiene esperando que se escriba algo y se
pulse la tecla INTRO.
El usuario escribe su respuesta en una línea distinta a la pregunta
porque Python añade un salto de línea al final de cada print().
Si se prefiere que el usuario escriba su respuesta a continuación de la
pregunta, se podría utilizar el argumento opcional end en la función
print(), que indica el carácter o caracteres a utilizar en vez del salto
de línea.
73
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Entrada
Otra solución, más compacta, es aprovechar que a la función input()
se le puede enviar un argumento que se escribe en la pantalla (sin
añadir un salto de línea)
Ficheros
Antes de poder realizar cualquier operación de lectura/escritura hay
que abrir el archivo con open() indicando su ubicación y nombre
seguido, opcionalmente, por el modo o tipo de operación a realizar y la
codificación que tendrá el archivo.
• Si no se indica el tipo de operación el archivo se abrirá en modo de
lectura y si se omite la codificación se utilizará la codificación actual del
sistema.
75
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Ficheros
Las operaciones que pueden realizarse sobre un archivo:
r Lectura
r+ Lectura/Escritura
w Sobreescritura. Si no existe el archivo se
creará.
a Añadir. Escribe al final del archivo.
b Binario
+ Permite lectura/escritura simultanea
U Salta de línea universal
Win CR*LF
Linux LF
Mac CR
rb Lectura binaria
76
wb Sobreescritura binaria
r+b Lectura/Escritura binaria
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Ficheros
Después de terminar de trabajar con un archivo lo cerraremos con el
método close.
Con el método read() es posible leer un número de bytes
determinados.
• Si no se indica número se leerá todo lo que reste o si se alcanzó el final
de fichero devolverá una cadena vacía.
El método readline() lee de un archivo una línea completa
El método readlines() lee todas las líneas de un archivo como una
lista. Si se indica el parámetro de tamaño leerá esa cantidad de bytes
del archivo y lo necesario hasta completar la última línea
with-as permite usar los archivos de forma óptima cerrándolos y
liberando la memoria al concluir el proceso de lectura. 77
INTRODUCCIÓN
Entrada y comunes
Subetapas más salida
Ficheros
El método write() escribe una cadena y el método writelines()
escribe una lista a un archivo.
• Si en el momento de escribir el archivo no existe se creará uno nuevo.
El método seek() desplaza el puntero a una posición del archivo y el
método tell() devuelve la posición del puntero en un momento dado
(en bytes).
Para leer y escribir cualquier tipo de objeto Python podemos importar
la librería pickle y usar sus métodos dump() y load() para leer y
escribir los datos.
78
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
79
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
Sangrado de bloques
Un bloque de instrucciones puede contener varias instrucciones. Todas
las instrucciones del bloque deben tener el mismo sangrado.
Sentencias condicionales anidadas
Una sentencia condicional puede contener a su vez otra sentencia
anidada. OJO con los sangrados.
Más de dos alternativas: if ... elif ... else ...
La estructura de control if ... elif ... else ... permite
encadenar varias condiciones. "elif" es una contracción de "else if".
Se pueden escribir tantos bloques elif como sean necesarios
81
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
Condiciones no booleanas
Dado que cualquier variable puede interpretarse como una variable
booleana, si la condición es una comparación con cero, podemos omitir
la comparación.
82
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
El bucle for
Un bucle es una estructura de control que repite un bloque de
instrucciones.
Un bucle for es un bucle que repite el bloque de instrucciones un
número predeterminado de veces. El bloque de instrucciones que se
repite se suele llamar cuerpo del bucle y cada repetición se suele llamar
iteración.
La sintaxis de un bucle for es la siguiente:
for variable in elemento iterable (lista, cadena, range, etc.):
cuerpo del bucle
El bucle for
La variable de control puede ser una variable empleada antes del bucle.
El valor que tuviera la variable no afecta a la ejecución del bucle, pero
cuando termina el bucle, la variable de control conserva el último valor
asignado:
84
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
El bucle for
En vez de una lista se puede escribir una cadena. En este caso, la
variable de control va tomando como valor cada uno de los caracteres:
El bucle while
Un bucle while permite repetir la ejecución de un grupo de
instrucciones mientras se cumpla una condición (es decir, mientras la
condición tenga el valor True)
La sintaxis del bucle while es la siguiente:
while condicion:
cuerpo del bucle
Cuando llega a un bucle while, Python evalúa la condición y, si es
cierta, ejecuta el cuerpo del bucle. Una vez ejecutado el cuerpo del
bucle, se repite el proceso (se evalúa de nuevo la condición y, si es
cierta, se ejecuta de nuevo el cuerpo del bucle) una y otra vez mientras
la condición sea cierta. Únicamente cuando la condición sea falsa, el
cuerpo del bucle no se ejecutará y continuará la ejecución del resto del
programa.
86
INTRODUCCIÓN
Estructuras de control
Subetapas más comunes
El bucle while
Si la condición del bucle se cumple siempre, el bucle no terminará
nunca de ejecutarse y tendremos lo que se denomina un bucle infinito.
Para interrumpir un bucle infinito, hay que pulsar la combinación de
teclas Ctrl+C.
87
INTRODUCCIÓN
Funciones
Subetapas más comunes
Variables locales
Si no se han declarado como globales o no locales, las variables a las
que se asigna valor en una función se consideran variables locales, es
decir, sólo existen en la propia función, incluso cuando en el programa
exista una variable con el mismo nombre.
91
INTRODUCCIÓN
Funciones
Subetapas más comunes
92
INTRODUCCIÓN
Funciones
Subetapas más comunes
93
INTRODUCCIÓN
Funciones
Subetapas más comunes
94
INTRODUCCIÓN
Funciones
Subetapas más comunes
95
INTRODUCCIÓN
Funciones
Subetapas más comunes
96
INTRODUCCIÓN
Funciones
Subetapas más comunes
97