Subido por alberto veronese

Gui de Python Ver 1.2

Anuncio
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Superior
Teoría del Lenguaje
de programación:
Python
Prof. Lcdo. Alberto Veronese
Materia: Programación
Ver 1.2 – Mayo 2023
ÍNDICE
Pág.
¿Qué es Python?
¿Qué es un programa multiparadigma?
¿Qué es un programa tipado dinámico?
¿Qué es un programa tipado dinámico?
¿Qué es IDE y algunos de sus editores Python?
- Los IDE de Python más conocidos
6) ¿Qué es un programa?
7) ¿Qué es un código fuente?
8) ¿Qué es un código interprete?
9) Variables y sus tipos
10) Operadores lógicos y de comparación
11) Operadores aritméticos
12) Formato de impresión
13) Estructura de un programa
14)
15)
1)
2)
3)
4)
5)
Página | 2
A.J.S. - Prof. Lcdo. Alberto Veronese
INTRODUCCIÓN
Python es un lenguaje de programación interpretado de tipado dinámico cuya filosofía
hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de
programación multiparadigma y disponible en varias plataformas. Detectan los errores en
tiempo de ejecución.
Por medio del programa de Python muchos usuarios pueden ejecutar programas
fácilmente, solamente con la asesoría de algunos tutoriales y así lograr el éxito como
programador.
Para ello es necesario indagar acerca de su historia, conocer algunas definiciones como
multiparadigma y multiproposito; así como también cada uno de los operadores que se
utilizan y su lenguaje.
Dada la popularidad que ha adquirido en la última década, cabría esperar que se trate de
un lenguaje nacido a comienzos de este siglo. Nada más lejos de la realidad: su origen se
remonta a finales de los años 80 y principios de los 90. Su implementación comenzó en
diciembre de 1989 cuando Guido van Rossum, trabajador del CWI (un centro de
investigación holandés de carácter oficial) decidió empezar el proyecto como un
pasatiempo dándole continuidad al lenguaje de programación ABC desarrollado por el
equipo del que había formado parte en el CWI.
Su nombre se debe a la afición de Van Rossum al grupo Monty Python y su concepción
se enfocaba en que fuera fácil de usar y aprender sin que esto penalizara sus capacidades.
La causa de que no llegara a adquirir la suficiente importancia en su momento fue la falta
de recursos en el hardware de la época. El avance en las tecnologías de hardware ha sido
una condición necesaria para el repunte de su popularidad. No obstante, la generalización
del Big Data en los últimos años, seguida de la explosión de la inteligencia artificial, el
machine learning, el deeplearning y el surgimiento de la ciencia de datos o data science
como una nueva área de trabajo con especialistas propios han revolucionado el panorama.
Y es que muchas de las nuevas herramientas que han surgido, y que son explotadas por los
ingenieros de datos y los científicos de datos, han sido desarrolladas en Python o nos
ofrecen Python como la forma predilecta de interactuar con ellas.
Página | 3
A.J.S. - Prof. Lcdo. Alberto Veronese
1. ¿QUÉ ES PYTHON?
Python es un lenguaje de programación de alto nivel que se utiliza para desarrollar
aplicaciones de todo tipo. A diferencia de otros lenguajes como Java o .NET, se trata de un
lenguaje interpretado, es decir, que no es necesario compilarlo para ejecutar las
aplicaciones escritas en Python, sino que se ejecutan directamente por el ordenador
utilizando un programa denominado interpretador, por lo que no es necesario “traducirlo” a
lenguaje máquina.
Es un lenguaje sencillo de leer y escribir debido a su alta similitud con el lenguaje
humano. Además, se trata de un lenguaje multiplataforma de código abierto y, por lo tanto,
gratuito, lo que permite desarrollar software sin límites. Con el paso del tiempo, Python ha
ido ganando adeptos gracias a su sencillez y a sus amplias posibilidades, sobre todo en los
últimos años, ya que facilita trabajar con inteligencia artificial, big data, machine learning y
data science, entre muchos otros campos en auge.
El lenguaje de programación Python utiliza módulos de código que son intercambiables
en lugar de una larga lista de instrucciones que era estándar para los lenguajes de
programación funcional. La implementación estándar de Python se llama «cpython«. En
definitiva, no convierte su código en lenguaje de máquina o código máquina, algo que el
hardware puede entender. En realidad, lo convierte en algo llamado código de byte. Este
código de bytes no puede ser entendido por la CPU. Así que necesitamos un intérprete
llamado Máquina Virtual Python (PVM) que ejecuta los códigos de bytes. El intérprete de
Python realiza las siguientes tareas para ejecutar un programa:
Paso 1: El intérprete lee un código o instrucción Python. Luego verifica que la
instrucción esté bien formateada, es decir, comprueba la sintaxis de cada línea. Si encuentra
algún error, detiene inmediatamente la traducción y muestra un mensaje de error.
Pasó 2: Si no hay ningún error, es decir, si la instrucción o el código python están bien
formateado, el intérprete lo traduce a su forma equivalente en un lenguaje intermedio
llamado «código Byte». Así, después de la ejecución exitosa de la escritura o el código
Python, se traduce completamente en código Byte.
Paso 3: El código del byte se envía a la Máquina Virtual Python, donde de nuevo se
ejecuta el código del byte en PVM. Si se produce un error durante esta ejecución, ésta se
detiene con un mensaje de error.
Página | 4
A.J.S. - Prof. Lcdo. Alberto Veronese
2. ¿QUÉ ES UN PROGRAMA MULTIPARADIGMA?
La Programación Multiparadigma es una práctica que emerge como resultado de la coexistencia de los paradigmas orientado a objetos, procedural, declarativo y funcional
buscando mejorar la producción en el desarrollo de proyectos.
Python es un lenguaje de programación Multiparadigma. Esto significa que más que
forzar a los programadores a adoptar un estilo particular de programación, permite varios
estilos: programación orientada a objetos, programación imperativa y programación
funcional.
3. ¿QUÉ ES UN PROGRAMA ES MULTIPLATAFORMA?
Un lenguaje de programación multiparadigma se define como un lenguaje de
programación que puede ser: ORIENTADO A OBJETOS, FUNCIONAL O
ESTRUCTURADO. Esto significa que el lenguaje permite al programador combinar los
diversos paradigmas para resolver un problema de diferentes maneras. El resultado es un
código más flexible y menos dependiente de un único estilo de programación. Ejemplo, un
lenguaje de programación multiparadigma puede permitir que un programador combine la
programación orientada a objetos con la programación estructurada para escribir código
que está optimizado para los objetos y también sea eficiente al usar estructuras de datos
apropiadas para la tarea. Esto significa que el programador no tiene que elegir entre los dos
para escribir un programa exitoso. Esto también puede permitir al programador cambiar
fácilmente entre los diferentes paradigmas, según las necesidades del programa.
Los programas multiplataforma además son aplicaciones que se caracterizan por ser
creadas bajo un único lenguaje de programación que facilita su exportación y su
visualización en cualquier tipo de dispositivo independientemente de su sistema operativo
(iOS o Android). Por
ejemplo, una aplicación multiplataforma puede ejecutarse sin
problema alguno, tanto en Microsoft Windows en la arquitectura x86, como en Linux en la
arquitectura x86 y Mac OS X, ya sea en el Power PC o sistemas Apple Macintosh basados
en x86. En general, una aplicación multiplataforma se puede ejecutar tanto en todas las
plataformas existentes o como mínimo dos plataformas. El término de (Python lenguaje
multiplataforma) hace referencia a la capacidad de un software o lenguaje de programación,
capaz de ejecutarse en diferentes plataforma o sistemas operativos.
Página | 5
A.J.S. - Prof. Lcdo. Alberto Veronese
4. ¿QUÉ ES UN PROGRAMA TIPADO DINÁMICO?
Los programas de tipado dinámico son aquellos donde el intérprete asigna a las variables
un tipo durante el tiempo de ejecución basado en su valor en ese momento. Un lenguaje
tipado dinámicamente es donde los programadores no tienen que anunciar que tipos de
variables es cuando escriben el código porque Python los determina en el tiempo de
ejecución. Debido a esto, es posible escribir programas de Python con mayor rapidez.
El lenguaje de programación es dinámicamente tipado si una variable puede tomar
valores de distintos tipos. La mayoría de lenguajes de tipado dinámico son lenguajes
interpretados, como Python o Ruby. Un lenguaje que no es dinámicamente tipado se dice
que es de tipado estático, o estáticamente tipado.
5. ¿QUÉ ES IDE Y ALGUNOS DE SUS EDITORES PYTHON?
Un entorno de desarrollo integrado (IDE) es un software que brinda a los desarrolladores
las herramientas que necesitan para escribir, editar, probar y corregir código en un único
lugar. Proporciona un entorno de desarrollo donde todas las herramientas están disponibles
en una única interfaz gráfica de usuario (GUI) fácil de usar.
Un IDE incluye principalmente:
• Editor de código para escribir los códigos de software
• Automatización de construcción local
• Depurador de programas
Los IDE de Python más conocidos son:
 Thonny: Es un excelente IDE de Python, especialmente para principiantes. Su
desarrollo principal se llevó a cabo en el Instituto de Ciencias de la Computación en la
universidad de Estonia - Universidad de Tartu. Junto al Frambuesa Pi Foundation apoyó
varios desarrollos de características en Thonny v3.0. Desde 2018, Cybernetica apoya
parcialmente el desarrollo de Thonny. Viene equipado con Python v3.x incorporado, por
lo que necesita un instalador simple para comenzar. Su interfaz de usuario es básica y
simple que los principiantes pueden entender fácilmente sin distracciones. Le permite
ejecutar programas paso a paso usando Ctrl + F5, sin necesidad de puntos de
interrupción.
Página | 6
A.J.S. - Prof. Lcdo. Alberto Veronese
 PyCharm: conoce todos los aspectos de su código. Por lo tanto, puede confiar en esta
solución para la verificación de errores sobre la marcha, la finalización de código
inteligente, la navegación de proyectos sin esfuerzo y la rápida corrección de errores.
Ayuda a los desarrolladores a escribir códigos limpios y mantenibles y a regular el
control de calidad a través de comprobaciones PEP8, refactorización inteligente,
inspecciones y asistencia en las pruebas. PyCharm tiene un editor de código inteligente
que ofrece el mejor soporte de su clase no solo para Python sino también para
JavaScript, TypeScript, CoffeeScript, entre otros.
 KDevelop: se basa en tecnología moderna de código abierto, que ofrece un entorno de
desarrollo fluido a los desarrolladores que trabajan en proyectos de cualquier tamaño. En
esencia, se encuentra una combinación de un editor sofisticado y un análisis de código
semántico, que ofrece una rica experiencia de programación.
 Slickedit: Admite más de 70 lenguajes de programación, edita hasta 2 TB
rápidamente, es altamente personalizable, tiene un gran soporte y tiene un foro de
usuarios activo.
 Visual Studio Code: Codifique de forma más inteligente y rápida con el mejor IDE
de su clase de Microsoft: Visual Studio Code. Ofrece un rendimiento mejorado a través
de IntelliSense para programas C ++. Le permite escribir variables de forma precisa y
rápida mediante sugerencias de código. Mantenga la velocidad y supere las
complejidades mientras navega hacia un archivo, miembro, tipo o símbolo.
Mantenga la velocidad y supere las complejidades mientras navega hacia un archivo,
miembro, tipo o símbolo. También puede mejorar los códigos con bombillas, sugiriendo
acciones como agregar parámetros, renombrar funciones, etc. Con CodeLens, encuentre
información esencial como los cambios realizados en el código, sus impactos y para
verificar si el método está probado por unidad o no.
 LiClipse: Admite alrededor de 30 idiomas, incluidos Java, JavaScript, CSS, PHP,
PERL, C, C ++, HTML, Go, Ruby, Django Templates,
científico robusto de Python diseñado para desarrolladores, científicos de datos e
ingenieros. Tiene una sorprendente combinación de edición avanzada, creación de
perfiles y depuración con exploración de datos, inspección profunda, hermosa
Página | 7
A.J.S. - Prof. Lcdo. Alberto Veronese
visualización y ejecución interactiva. Spyder
permite trabajar de manera eficiente
utilizando un editor en varios idiomas.
 Atom: Es un editor gratuito desarrollado por GitHub que admite la codificación en
varios lenguajes de programación, incluido Python. Mediante el uso de Atom, los
desarrolladores pueden trabajar directamente con GitHub, el sitio web en el que puede
guardar su código de forma centralizada.
Atom ofrece las siguientes características:
 Posibilidad de utilizarlo con muchos sistemas operativos.
 Instalación o creación fáciles de nuevos paquetes.
 Compleción automática de código más rápida.
 Posibilidad de buscar archivos y proyectos.
 Fácil personalización de la interfaz.
 Vim: es una aplicación que funciona en el ámbito de la consola, necesaria en un
terminal de texto. Este editor es para usuarios intermedios y avanzados, tiene una curva
de aprendizaje moderada. Vim, fue desarrollado bajo la filosofía del software libre, es
decir, puedes entrar a su núcleo y mejorar sus funcionalidades. Está disponible para
Windows, Mac y para todas las distribuciones de Linux, en consecuencia, es una
alternativa interesante para empezar a desarrollar aplicaciones clientes – servidor,
soporta conexiones SSH. Lo anterior permite crear códigos para crear conexiones con un
hosting para comprobar su estado, acceder a una base de datos, etc.
 Wing: es usado por los programadores de aplicaciones que utilizan Python como su
lenguaje de programación principal. Este editor permite a los desarrolladores crear
códigos de pruebas, análisis de datos, depuraciones, control de versiones,
automatización, etc. Es un programa versátil, por ello, es uno de los más populares en el
mercado, simplifica la tarea de crear un programa. Es oportuno mencionar que la
aplicación ofrece a los usuarios una versión gratuita y otra de pago.
La versión gratuita brinda lo siguiente: Desarrollo de aplicaciones web y móvil: Ofrece
todas las herramientas para que elabores tu programa, compiles, y puedas ejecutarlo. Es
un editor muy poderoso y versátil, incluso puedes diseñar aplicaciones móviles, muy
solicitadas por las empresas de software.
Página | 8
A.J.S. - Prof. Lcdo. Alberto Veronese
Refactorización o modificación del código: El programa permite al programador realizar
cambios al código fuente sin alterar el comportamiento de una aplicación, es un proceso
común en el ciclo de desarrollo de un software.
Depuración: El editor permite al programador depurar las líneas de código de una manera
sencilla, identificando los errores.
La versión pago ofrece lo siguiente: Elaboración de informes: Esto es muy importante al
momento de documentar el software, el editor genera un informe detallado de la
estructura y estado del programa. En cuanto a número de líneas de códigos, tamaño del
archivo, clases, etc.
Test de compatibilidad: Otra función que permite medir el desempeño del software
desarrollado, puedes medir su comportamiento en diferentes entornos como sistemas
operativos, navegadores, etc.
Modelado de datos: Es otro aspecto a destacar del editor, es capaz de crear la estructura de
datos de la aplicación, recuerda que Python es un lenguaje orientado a objetos.
Si eres un usuario con presupuesto y vas a desarrollar aplicaciones robustas, te recomiendo
que elijas la versión pago.
 Spyder Python: Este IDE permite identificar los errores lógicos, sintaxis, edita
variable desde la misma interfaz. Además de ejecutar fragmentos de códigos desde el
editor de la consola, ejecución pasó a paso, etc. Se caracteriza por ofrecer un nivel
avanzado de funciones, depuración, explorador de datos y edición. Tiene una buena
integración con la consola, e interactúa y modifica las variables sobre la marcha
Página | 9
A.J.S. - Prof. Lcdo. Alberto Veronese
6. ¿QUÉ ES UN PROGRAMA?
Un programa informático o programa de computadora es una secuencia de instrucciones
u órdenes basadas en un lenguaje de programación que una computadora interpreta para
resolver un problema o una función específica. Python es un lenguaje de programación de
alto nivel que se utiliza para desarrollar aplicaciones de todo tipo.
7. ¿Qué es un código fuente?
Un código fuente es básicamente un archivo, al igual que un archivo de Microsoft (. doc.),
pero ligeramente diferente. Es un archivo de texto sin procesar, escrito en editores muy
simples, como el Bloc de notas de Windows. El código fuente debe guardarse en un
archivo, que se pasa como entrada al traductor.
8. ¿QUÉ ES UN CÓDIGO INTERPRETE?
Un intérprete es un programa informático que procesa el código fuente de un proyecto de
software durante su tiempo de ejecución. Existen dos maneras de usar el intérprete de
Python: en modo de comandos y en modo de guión. En modo de comandos se escriben
sentencias en lenguaje Python en el intérprete de comandos de
Python y éste muestra el resultado inmediatamente:
9. VARIABLES Y SUS TIPOS
En Python, existen varios tipos de datos que se pueden asignar a una variable, incluyendo:
• Enteros: representan números enteros sin decimales y se pueden representar utilizando la
clase int. Por ejemplo, x = 10.
• Flotantes: representan números decimales y se pueden representar utilizando la clase
float. Por ejemplo, x = 3.1416.
• Cadena de caracteres: representan texto y se pueden representar utilizando la clase str.
Las cadenas se pueden crear utilizando comillas simples o dobles. Por ejemplo, x = "Hola,
mundo!".
• Booleanos: representan valores de verdadero o falso y se pueden representar utilizando la
clase bool. Los valores booleanos se pueden obtener a partir de comparaciones o utilizando
los valores literales True o False. Por ejemplo, x = True.
• Listas: representan una colección de elementos ordenados y modificables y se pueden
representar utilizando la clase list. Los elementos de una lista pueden ser de cualquier tipo
de datos, incluso otras listas. Por ejemplo, x = [1, 2, 3, "cuatro"].
Página | 10
A.J.S. - Prof. Lcdo. Alberto Veronese
• Tuplas: representan una colección de elementos ordenados e inmutables y se pueden
representar utilizando la clase tuple. Al igual que con las listas, los elementos de una tupla
pueden ser de cualquier tipo de datos, incluso otras tuplas. Por ejemplo, x = (1, 2, 3,
"cuatro").
• Conjuntos: representan una colección no ordenada y sin elementos duplicados y se
pueden representar utilizando la clase set. Los elementos de un conjunto pueden ser de
cualquier tipo de datos, excepto listas o conjuntos, ya que estos no son hashable. Por
ejemplo, x = {1, 2, 3}.
• Diccionarios: representan una colección de pares clave-valor y se pueden representar
utilizando la clase dict. Las claves y valores pueden ser de cualquier tipo de datos, incluso
otras listas o diccionarios. Por ejemplo, x = {"nombre": "Juan", "edad": 25}.
10. OPERADORES LÓGICOS O DE COMPARACIÓN
Otro tipo de operadores fundamentales en programación son los operadores lógicos o de
comparación. Se usan para comparar dos variables o expresiones y obtener un valor
verdadero o falso. Como operadores de comparación disponemos de:
SÍMBOLO
SIGNIFICADO
EJEMPLO
=
Igual que
A=B
>
Mayor que
A>B
<
Menor que
A<B
>=
Mayor o igual que
A >= B
<=
Menor o igual que
A <= B
<>
Distinto que
A <> B
Página | 11
A.J.S. - Prof. Lcdo. Alberto Veronese
11. OPERADORES ARITMÉTICOS
Un operador es un signo o símbolo que especifica el tipo de cálculo que se realiza en
una expresión. Hay operadores matemáticos, de comparación, lógicos y de referencia.
Access admite diversos operadores, incluidos los operadores aritméticos como +, -, de
multiplicación (*) y división (/), además de los operadores de comparación para comparar
valores, los operadores de texto para concatenar texto y los operadores lógicos para
determinar valores verdaderos o falsos. En este artículo se proporciona información sobre
el uso de estos operadores. Siguiente tabla se describen a continuación:
OPERADOR DESCRIPCIÓN USO
( + ) Realiza Adición entre los operandos, 12 + 3 = 15
( - ) Realiza Substracción entre los operandos, 12 - 3 = 9
( * ) Realiza Multiplicación entre los operandos, 12 * 3 = 36
(/)
Realiza División entre los operandos, 12 / 3 = 4
(%) Realiza un módulo entre los operandos, 16 % 3 = 1
(**) Realiza la potencia de los operandos, 12 ** 3 = 1728
(//)
Realiza la división con resultado de número entero, 18 // 5 = 3
12. FORMATO DE IMPRESIÓN
Python usa un estilo de formato de cadenas parecido a C para crear nuevas cadenas de
texto. Cuando se trabaja con datos es usual querer imprimir salidas estructuradas (tablas,
etc.). Por ejemplo:

Nombre Cajones Precio
---------- ---------- ----------Lima
100
32.20
Naranja
50
91.10
Caqui
150
103.44
Mandarina 200
51.23
Formato de cadenas: Una excelente manera de darle formato a una cadena en
Python es usando f-strings .
>>> nombre = 'Naranja'
>>> cajones = 100
>>> precio = 91.1
>>> f'{nombre:>10s} {cajones:>10d} {precio:>10.2f}'
Página | 12
A.J.S. - Prof. Lcdo. Alberto Veronese
'
Naranja
100
91.10'
La parte {expresion:form} va a ser reemplazada. Usualmente los f-strings se usan con print
1 nombre = 'Naranja'
2 cajones = 100
3 precio = 91.1
4 F'{nombre:>10s} {cajones:>10d} {precio:>10.2f}'
5 print(f'{nombre:>10s} {cajones:>10d} {precio:>10.2f}')
Python 3.7.9 (bundled)
>>> %Run 'formato de printf.py'
Naranja
100
91.10
>>>
print(f'{nombre:>10s} {cajones:>10d} {precio:>10.2f}')
Códigos de formato: Los códigos de formato (lo que va luego de: dentro de {}) son
similares a los que se usan en el printf() del lenguaje C. Los más comunes son:
d
Entero decimal
b
Entero binario
x
Entero hexadecimal
f
Flotante como [-]m.dddddd
e
Flotante como [-]m.dddddde+-xx
g
Flotante, pero con uso selectivo de la notación exponencial E.
s
Cadenas
c
Carácter (a partir de un entero, su código)
Los modificadores permiten ajustar el ancho a imprimir o la precisión decimal (cantidad
de dígitos luego del punto). Ésta es una lista parcial:
:>10d Entero alineado a la derecha en un campo de 10 caracteres
:<10d Entero alineado a la izquierda en un campo de 10 caracteres
:^10d Entero centrado en un campo de 10 caracteres
:0.2f Flotante con dos dígitos de precisión

Formato a diccionarios: Se podrá usar el método format_map() para aplicarle un
formato a los valores de un diccionario:
>>> s = { 'nombre': 'Naranja', 'cajones': 100, 'precio': 91.1 }
>>> '{nombre:>10s} {cajones:10d} {precio:10.2f}'.format_map(s)
'
Naranja
100
91.10'
Página | 13
A.J.S. - Prof. Lcdo. Alberto Veronese
Usa los mismos códigos que los f-strings pero toma los valores que provee el diccionario.

El método format(): Existe un método format() que permite aplicar formato a
argumentos.
>>>
'{nombre:>10s}
{cajones:10d}
cajones=100, precio=91.1) '
Naranja
100
{precio:10.2f}'.format(nombre='Naranja',
91.10'
>>> '{:10s} {:10d} {:10.2f}'.format('Naranja', 100, 91.1)
'
Naranja
100
91.10'
La verdad es que format() nos resulta un poco extenso y preferimos usar f-strings .
13. ESTRUCTURA DE UN PROGRAMA
Un programa informático es una secuencia de acciones (instrucciones) que manipulan
un conjunto de objetos (datos). Existen dos partes o bloques que componen un programa:

Bloque de declaraciones: en este se detallan todos los objetos que utiliza el
programa (constantes, variables, archivos, etc.).

Bloque de instrucciones: conjunto de acciones u operaciones que se han de llevar a
cabo para conseguir los resultados esperados. El bloque de instrucciones está
compuesto a su vez por tres partes, aunque en ocasiones no están perfectamente
delimitadas, y aparecerán entremezcladas en la secuencia del programa, podemos
localizarlas según su función. Estas son:
a) Entrada de datos: instrucciones que almacenan en la memoria interna datos
procedentes de un dispositivo externo.
b) Proceso o algoritmo: instrucciones que modifican los objetos de entrada y, en
ocasiones, creando otros nuevos.
c) Salida de resultados: conjunto de instrucciones que toman los datos finales de la
memoria interna y los envían a los dispositivos externos.
Página | 14
A.J.S. - Prof. Lcdo. Alberto Veronese
Descargar