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

Python

Este documento presenta una introducción a Python y Spyder. Se explica qué es Python, por qué usarlo y cómo instalarlo, así como también cómo instalar y usar el entorno de desarrollo integrado Spyder. Se detalla el uso de la línea de comandos, Pip y PyPI para gestionar paquetes de Python. Finalmente, se introducen conceptos básicos como tipos de datos, variables, operadores y E/S.

Cargado por

Rolando Noroña
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)
136 vistas

Python

Este documento presenta una introducción a Python y Spyder. Se explica qué es Python, por qué usarlo y cómo instalarlo, así como también cómo instalar y usar el entorno de desarrollo integrado Spyder. Se detalla el uso de la línea de comandos, Pip y PyPI para gestionar paquetes de Python. Finalmente, se introducen conceptos básicos como tipos de datos, variables, operadores y E/S.

Cargado por

Rolando Noroña
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/ 58

Entrenamiento en

Fundamentos de
PowerFactory y programación
de aplicaciones
Walter Vargas
Santiago Chamba
Abril 2022
Sección 1. Introducción Python

Índice
• ¿Qué es Python?
• ¿Por qué usar Python?
• Instalación de Python
• Línea de comandos en Windows (cmd)
• Repositorios PyPI
• Pip
• Comandos pip
• Instalación y uso de Spyder
• Escribiendo su primer programa
• Celdas en Spyder
¿Qué es Python?
Python es un lenguaje de programación de alto nivel, interpretado y orientado a objetos, creado por
el holandés Guido Van Rossum en 1991. Desarrollado y administrado por la Python Software
Foundation (se dedica a promover, proteger y desarrollar el lenguaje Python).

Algunas de las características que hacen a Python un lenguaje tan popular y poderoso son:

• Código Abierto y fácil de aprender.


• Es un lenguaje interpretado, no compilado.
• Multiplataforma, , ya que un código escrito en macOS, Windows o Linux y vice versa.
• Sintaxis muy clara, legible y fácil de aprender.
• Estable y maduro.
• Extensa biblioteca estándar (pilas incluidas) y módulos de terceros.
• Tipado dinámico, lo que significa que una variable puede tomar valores de distinto tipo.
• Fuertemente tipado, o que significa que el tipo no cambia de manera repentina.
• Integrable dentro de las aplicaciones como una interfaz de scripting.
• Multipropósito, transversal, usado en diferentes industrias y para diferentes fines.

¿Python 2 o Python 3?
¿Por qué usar Python?
De acuerdo con StackOverflow insights en la
siguiente gráfica podemos ver el número de
preguntas vistas en la plataforma acerca de
Pyhton.

Podemos ver que Python lleva casi dos años en el


podio.

La comunidad de Python es inmensa, con


alrededor de 10 millones de personas en el
mundo, una cifra que supera ya a los usuarios de
Java.

Es importante el tamaño de la comunidad,


porque cuanto más grande sea, mayor soporte se
le dará al lenguaje y mayor número de personas
compartirán sus problemas y se ayudarán a
resolverlos.
¿Por qué usar Python?
• Machine Learning: En los
últimos años ha crecido el
número de
implementaciones en Porcentaje de ofertas de
Python de librerías de empleo coincidentes
aprendizaje automático
como Keras, TensorFlow,
PyTorch o sklearn.

• Visualización de Datos:
Existen varias librerías
muy usadas para mostrar
datos en gráficas, como
matplotlib, seaborn o plotly.
¿Por qué usar Python?
De hecho a día de hoy prácticamente cualquier API, librería o servicio que existe en el mundo tiene una versión para
Python, bien sea de manera nativa o a través de un wrapper
Python es un lenguaje muy transversal, usado en diferentes industrias y para diferentes fines. Veamos algunos de las
empresas que usan Python:
¿Por qué usar Python?
Instalación de Python
Para instalar Python en Windows debes ir a la sección de descargas de la web oficial y seleccionar la última versión.
Se recomendamos utilizar la versión 3.x ya que aunque también existen versiones anteriores como las 2.x, Python
ya ha dejado de dar soporte a ellas.

https://www.python.org/downloads/
Instalación de Python
Instalación de Python

Tkinter es el paquete GUI


(Graphical User Interface)
estándar de Python

Pruebas unitarias de
Python

El lanzador incluye dos


ejecutables - py.exe (la
versión consola) y
pyw.exe (la versión GUI)

Es una aplicación de línea


de comandos
multiplataforma y una API
para crear accesos
directos.
Línea de comandos en Windows (cmd)

• cls: Limpia la ventana de CMD eliminando el contenido de operaciones anteriores.


• exit: Cierra la ventana de CMD. Si se ha iniciado un comando de procesado por lotes cierra el
proceso, pero mantiene CMD abierto.
• cd: Sirve para moverse por las carpetas de tu PC desde la ventana de comandos de Windows.
Dependiendo del atributo que lo acompañe realizará una acción u otra. Si insertas el comando cd
<rutadecarpeta>, irá directamente al directorio indicado, mientras que si introduces el comando
cd.. sale de la actual carpeta al nivel superior.
• Dir: Muestra el contenido de un directorio listando los archivos y carpetas que se encuentran en él.
Repositorios PyPI
El Python Package Index o PyPI es el repositorio de software oficial para aplicaciones de terceros en el lenguaje de
programación Python.

Los desarrolladores de Python pretenden que sea un catálogo exhaustivo de todos los paquetes de Python escritos
en código abierto.

Existen diversas herramientas para administrar los módulos instalados en Python que utilizan PyPI como su
repositorio principal, entre ellas pip y EasyInstall.
Pip
• Pip es un acrónimo recursivo que se puede interpretar como Pip Instalador de Paquetes o Pip Instalador de
Python.

• Pip es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos
en Python. Además de la funcionalidad básica de instalación de paquetes, pip permite actualizaciones y
desinstalaciones.

• Automáticamente pip se encargará de acceder a PyPi, buscar el fichero de distribución dado por los
desarrolladores, compilar el código en caso de que sea necesario y proceder a la copia de los
correspondientes ficheros al directorio site-packages de nuestro intérprete de Python.
Comandos Pip
• La instalación de un paquete a través de Pip es tan sencilla como invocar al comando install, seguido del
nombre del paquete que deseamos instalar.
pip install nombre-paquete

• La actualización de paquetes a la versión más reciente liberada también se realiza empleando el comando
install, pasándole como parámetro –U.
pip install –U nombre-paquete

• También se pueden fácilmente desinstalar algún paquete.


pip uninstall nombre-paquete

• Pip nos permite realizar búsquedas de paquetes, consultando para ello PyPi y buscando todos los paquetes
que coinciden con el criterio de búsqueda.
pip search nombre-paquete

• Consultar todos los paquetes instalados en nuestro sistema es posible gracias al comando freeze.
pip freeze
Instalación y uso de Spyder

Spyder es un potente entorno de desarrollo interactivo (IDE) para el lenguaje Python orientado a
científicos y desarrollo ingenieril con una interfaz muy similar a Matlab, por lo que es la opción más
adecuada cuando se quiere migrar de programación Matlab a Python.

Instalación de Spyder con PIP vía CMD


Instalación y uso de Spyder
Componentes Principales

Explorador de Variables
Explorador de archivos
Ayuda

Editor

Terminal IPython
Instalación y uso de Spyder
Editor
• Funciona junto con la terminal y el editor,
muestra automáticamente la documentación
disponible cuando el usuario crea una
instancia o llama a una función Ctrl + I.

• Complemento de código → Tab ó Ctrl + Espacio


Instalación y uso de Spyder
Terminal IPython

• Evaluar todo el archivo → F5


• Evaluar una sección o celda → Ctrl + Enter
• Viene con la integración de figuras o puede gestionarlo en el explorador de
variables
Instalación y uso de Spyder
Explorador de Variables

• Inspeccionar las variables definidas en la terminal


• Modificar sus contenidos gráficamente
• Copiar, graficar y remover variables
Instalación y uso de Spyder
Explorador de Archivos

• Es un explorador de archivos / directorios que permite al usuario abrir archivos


con el editor interno o con la aplicación adecuada.
Escribiendo su primer programa
Celdas de Spyder
Sección 2. Variables, Tipos de datos y Operadores

Índice
• Tipos de datos
• Variables y asignación
• Tipos de Números
• Tipos de Booleanos
• Tipos de Cadenas
• Operadores
• Entrada y salida estándar
• Tipos de Tuplas
• Tipos de Listas
• Tipos de Diccionarios
Tipos de datos
Python cuenta con varios tipos de datos, ya que no es lo mismo un número, que una letra, que un
valor que solo puede ser Falso o Verdadero.

Una característica de Python es que el tipo de variable no se declara (tipado dinámico y fuertemente
tipado).
• Primitivos • Secuenciales
• Números (int, float) • Listas
• Valores lógicos (booleanos) • Tuplas
• Cadenas de texto • Diccionarios

A diferencia de otros lenguajes de programación, no es necesario decirle a Python el tipo de dato


que queremos almacenar.

En otro lenguajes es necesario especificar que se almacenará, por ejemplo un valor entero; pero no
es el caso. Python es muy listo y al ver la variable X, sabrá de que tipo tiene que ser la X.
Variables y asignación
• Una variable es un espacio para almacenar datos modificables, en la memoria de un ordenador. En
Python, una variable se define con la sintaxis:

Nombre de la variable = Valor de la variable

• Cada variable, tiene un nombre y un valor, el cual define a la vez, el tipo de datos de la variable.

• Las variables en Python pueden almacenar cualquier tipo (tipos de datos “dinámicos”: el tipo de una
variable cambiará según el valor que almacene)

• Operador de asignación = (no confundir con el de igualdad, ==)

• La asignación de valores a variables se puede hacer individualmente.


Variables y asignación
• Los nombres de variables en Python deben cumplir las reglas de identificadores, en resumen:

o Contener al menos un carácter. El primero debe ser una letra o un guion bajo (_). El
resto puede ser letras, números o guion bajo.

o No se pueden utilizar palabras reservadas del lenguaje como nombres de variables.

o Se consideran distintas las mayúsculas de las minúsculas, así que el nombre a es


diferente de A.
Variables y asignación
Como en Python «todo es un objeto», se definen:

«nombres» o «etiquetas»

Al hacer
a = 5 estamos etiquetando al objeto entero “5” con “a”

Si asignamos un nuevo valor a “a”, por ejemplo:

a = 8 estamos colocando la etiqueta “a” a un nuevo objeto.

Y el objeto 5 queda libre, puede seguir existiendo en la memoria, pero como nadie hace
referencia a él, es borrado.
Variables y asignación
Si creamos una nueva etiqueta “b” y le asignamos el valor de “a”, es decir:

b=a

estamos agregando otra etiqueta al mismo objeto al que “a” hace referencia.

Esto significa eficiencia en el uso de memoria, pero si cambiamos el valor de “a”, por ejemplo
hacemos una operación aritmética, como restarle 1
a=a–1
al hacer esto se está creando un nuevo objeto y se etiqueta con “a”, entonces tendremos dos
objetos diferentes con etiquetas independientes.
Variables y asignación
Palabras reservadas: Python tiene un conjunto de palabras reservadas que no podemos utilizar para
nombrar variables ni funciones, ya que son reservas internamente para su funcionamiento.

Python usa internamente True para representar el


tipo booleano.

No podemos llamar a una variable is ya que se


trata del operador de identidad.
Variables y asignación
Tipeado Dinámico (adaptación del inglés typing): cuando el tipo de dato de una variable puede cambiar en
tiempo de ejecución. En Python una variable puede comenzar teniendo un tipo de dato y cambiar en cualquier
momento a otro tipo de dato.

Si Python fuera un lenguaje de tipado estático, la


segunda asignación de a con una cadena debería
arrojar un error, pues su tipo de dato sería
declarado como entero.
Variables y asignación
Python es un lenguaje de tipado fuerte, por ejemplo ante una operación entre dos tipos de datos
incompatibles, arroja un error (durante la compilación o la ejecución) en lugar de convertir
implícitamente alguno de los dos tipos.
Tipos de datos
Fuertemente Tipeado

Si queremos sumar los valores de dos cadenas o un número con una cadena, ejemplo “5” + “9” o 5 + “9”
debemos de convertir la cadena al tipo del número, ya sea entero o real o cualquier otro tipo numérico.
Para eso se utilizan las funciones de conversión que trae Python.

Ejemplo:
Tipos de Números
Python soporta 3 distintos tipos numéricos:

o Int (Entero con signo).- son números enteros positivos o negativos sin punto decimal.

o Float (valor real de punto flotante) o flotantes. Representan números reales y se escriben con un punto
decimal.

o Complex (números complejos). Son de la forma a+bj, donde a y b son flotantes y j representa la raíz
cuadrada de -1 (que es un número imaginario). a es la parte real del número y b es la parte imaginaria.
Tipos de Números
Tipos de conversión de números

En Python a veces es necesario forzar un número explícitamente de un tipo a otro para


satisfacer los requisitos de un operador o parámetro de función.

o Tipo int(x) para convertir x a un entero simple.

o Tipo float(x) para convertir x a un número de punto flotante.

o Tipo complex(x) para convertir x a un número complejo con una parte real x y una
parte imaginaria cero.

o Tipo complex(x, y) convierte x e y a un número complejo con la parte real x y la parte


imaginaria y. x e y son expresiones numéricas
Tipos de Números
Funciones Matemáticas
Tipos de Booleanos
• El tipo booleano, es una forma de representación de datos binarios, es decir, únicamente dos valores
posibles: 0 (cero) y 1 (uno).

• Los dos valores posibles de este tipo de dato se prestan a diversas interpretaciones: Sí/No,
Encendido/Apagado, Verdadero/Falso, entre otras; todo aquello que represente dos estados
contrarios.

• En Python y los demás lenguajes de programación, se ha optado por las constantes True (1, verdadero)
y False (0, falso).
Tipos de Cadenas (string)
• Una cadena es una secuencia inmutable de caracteres delimitada por comillas simples o dobles:
‘Hola’
“Hola”

• Dado que las cadenas son secuencias ordenadas podemos hacer uso de indexación y slicing
(rebanado) para obtener una parte de los elementos de la cadena.

• La indexación se denota empleando corchetes [ ] después de la variable asignada a la cadena.

• La indexación permite obtener un solo carácter de la cadena. Para esto se usa [ ] y un índice para
indicar la posición que tu deseas obtener.
Tipos de Cadenas
• Slicing o rebanado nos permite obtener una sección de múltiples caracteres de una cadena. Este tiene
la siguiente sintaxis:

• start es un índice numérico para inicial el corte


• stop es un índice numérico para definir hasta donde iras
• step es un índice numérico para definir el salto o paso que se realizara

• El signo más (+) es el operador de concatenación de cadenas y el asterisco (*) es el operador de


repetición.
Operadores
Los operadores son signos, símbolos o palabras que el intérprete de Python identifica dentro de sus
sintaxis para realizar una acción (operación) específica.

Operadores aritméticos: se utilizan para realizar operaciones matemáticas como: Sumar, Restar,
Dividir, Multiplicar, etc
Operadores
Operadores de asignación: Los operadores de asignación se utilizan para básicamente asignar un
valor a una variable.
Operadores
Operadores de comparación:

Los operadores de comparación, también llamados comparadores relacionales, se utilizan para


comparar los valores. Se devuelve True o False según la condición.
Entrada y salida estándar
Función input( )
Nos permite leer información por teclado. Devuelve una cadena de caracteres y puede tener como
argumento una cadena que se muestra en pantalla.

Función print( )
Nos permite escribir en la salida estándar. Podemos indicar varios datos a imprimir, que por defecto
serán separado por un espacio (se puede indicar el separador) y por defecto se termina con un
carácter salto de línea \n (también podemos indicar el carácter final). Podemos también imprimir
varias cadenas de texto utilizando la concatenación.
Tipos de Listas
• Las listas son secuencias ordenadas que pueden contener cualquier tipo de dato: números, cadenas,
booleanos, … y también listas.

• Estas se definen entre corchetes, y separados por comas, los valores que queremos incluir en la lista:

• Las listas son mutables y soportan indexación y rebanado.

• Cuenta con algunos métodos como append, insert entre otros. Cabe hacer notar que estos métodos
no crean un nuevo objeto, sino que afectan directamente al objeto al que pertenecen.
Tipos de Tuplas
• Todo lo que hemos explicado sobre las listas se aplica también a las tuplas, a excepción de la forma de
definirla, para lo que se utilizan paréntesis en lugar de corchetes.

tupla = (1, 2, True, “python”)

• La diferencia principal con las listas estriba es que son inmutables, es decir, sus valores no se pueden
modificar una vez creada; y tienen un tamaño fijo.

• Por ese motivo poseen pocos métodos, a cambio de estas limitaciones las tuplas son más “ligeras” que las
listas. El uso que le vamos a dar a una colección es muy básico, puedes utilizar tuplas en lugar de listas y
ahorrar memoria.
Tipos de Diccionarios
• Los diccionarios, también llamados matrices asociativas, deben su nombre a que son colecciones que
relacionan una clave y un valor. Por ejemplo, veamos un diccionario de ciudades y capitales:

capital = { 'España': 'Madrid', 'Perú': 'Lima', 'Argentina': 'Buenos Aires', 'Colombia': 'Bogotá', 'Venezuela':
'Caracas’ }

• El primer valor se trata de la clave y el segundo es el valor asociado a la clave. Como clave podemos utilizar
cualquier valor inmutable: podríamos usar números, cadenas, booleanos, tuplas, … pero no listas, dado que
son mutables.

• La diferencia principal entre los diccionarios y las listas o las tuplas es que a los valores almacenados en un
diccionario se les accede no por su índice, porque de hecho no tienen orden, sino por su clave, utilizando de
nuevo el operador [].

• Ejemplo: capital['Perú']
Sección 3. Estructuras de Control de Flujo

Índice
• Identación
• Estructuras de Control de Flujo
• Sentencia else
• Sentencia elif
• Sentencia bucle while
• Función range()
• Sentencia bucle for
• Sentencia break
• Continue
• Sentencia pass
• Listas y Diccionarios por Comprensión
Identación
• Para hablar de estructuras de control de flujo en
Python, es imprescindible primero, hablar de
identación.

• Python utiliza la indentación para delimitar la


estructura permitiendo establecer bloques de
código. No existen comandos para finalizar las líneas
ni llaves con las que delimitar el código. Los únicos
delimitadores existentes son los dos puntos ( : ) y la
indentación del código.

• Así como para el lenguaje formal, cuando uno


redacta una carta, debe respetar ciertas sangrías,
los lenguajes informáticos, requieren una
identación.

• En Python no existe una norma en cuanto al


número de espacios o tabs por nivel de indentación.
Estructuras de Control de Flujo
Una estructura de control, es un bloque de código que permite agrupar instrucciones de manera
controlada. Las estructuras de control por lo general se agrupan en dos:

Estructuras de control condicionales


• Sentencia if
• Sentencia else
• Sentencia elif

Estructuras de control iterativas


• Sentencia bucle while
• Sentencia bucle for
Sentencia if
• El tipo más común de instrucción de control de flujo es la sentencia if.

• Una cláusula if (es decir, el bloque que sigue a la sentencia if) se ejecutará si la condición de la
sentencia es True. La cláusula se omite si la condición es False.
Sentencia else
• Una cláusula if puede ser seguida opcionalmente por una sentencia else. La cláusula else se ejecuta sólo
cuando la condición de la instrucción if es False.

• La sentencia else es una declaración opcional y podría haber como máximo una sentencia else después
de if.
Sentencia elif
• La instrucción elif le permite verificar múltiples expresiones para VERDADERO y ejecutar un bloque de
código tan pronto como una de las condiciones se evalúe como VERDADERO.

• Similar a lo demás, la sentencia elif es opcional. Puede haber un número arbitrario de enunciados elif
después de un if.
Sentencia bucle while
• Una sentencia while ejecuta repetidamente una declaración objetivo siempre que una condición dada sea
VERDADERA.
Función range()
• La función range crea una lista inmutable de números enteros en sucesión aritmética. Una sucesión
aritmética es una sucesión en la que la diferencia entre dos términos consecutivos es siempre la misma.

• Un range se crea llamando al tipo de datos con uno, dos o tres argumentos numéricos (m, n, p).

Donde:
m: el valor inicial
n: el valor final (que no se alcanza nunca)
p: el paso (la cantidad que se avanza cada vez)

• Si se escriben sólo dos argumentos, Python le asigna a p el valor 1. Es decir range(m, n) es lo mismo
que range(m, n, 1).

• Si se escribe sólo un argumento, Python, le asigna a m el valor 0 y a p el valor 1.


Sentencia bucle for
• La sentencia while sigue en bucle mientras que su condición sea True.

• Si quieres ejecutar un bloque de código sólo un cierto número de veces, se puede hacer uso de una
instrucción for y la secuencia range().
Sentencia break
• Hay un atajo para que la ejecución del programa salga de la cláusula de un bucle antes de finalizar toda
la sentencia.

• Si en la ejecución del programa encuentra una instrucción break, sale inmediatamente de la cláusula
bucle.
Sentencia continue
• Devuelve el control al principio del ciclo while. La instrucción continue rechaza todas las instrucciones
restantes en la iteración actual del ciclo y mueve el control nuevamente al principio del ciclo.

• La instrucción continue se puede usar en ciclos while y for.


Sentencia pass
• La sentencia pass, tal como su nombre lo indica es una operación nula, o sea que no pasa
nada cuando se ejecuta.

• Se utiliza cuando se requiere por sintaxis una declaración pero no se quiere ejecutar ningún
comando o código.

• También se utiliza en lugares donde el código irá finalmente, pero no ha sido escrita todavía
(utilizándolo como un relleno temporal, hasta que se escriba el código final).
Listas y Diccionarios por Comprensión
• Las listas por comprensión son análogas a los conjuntos por comprensión en teoría de conjuntos.

• Por ejemplo, A es el conjunto de las vocales (por comprensión) o A = {a,e,i,o,u} (por extensión).

• En Python las listas por comprensión se expresan por medio de sentencias for o if, por ejemplo, la
lista A = [0,1,2,3,4,5,6,7,,9] se expresa por comprensión como:

A = [i for i in range(10)]

También podría gustarte