Este documento presenta una introducción al lenguaje de programación Python. Explica que Python es un lenguaje de alto nivel, interpretado y orientado a objetos. Incluye secciones sobre tipos de datos, estructuras de control, entrada/salida, módulos, testing y librerías. El documento también compara las versiones Python 2 y Python 3 e introduce conceptos básicos como variables, tipos numéricos, cadenas y listas.
El documento describe Python, un lenguaje de programación dinámico y de propósito general creado por Guido van Rossum en 1991. Python es un lenguaje de alto nivel, orientado a objetos, interpretado y con una sintaxis sencilla. El documento explica características como tipado dinámico, tipado fuerte, tipos de datos, control de flujo, funciones, clases y módulos.
El documento contiene una lista de términos relacionados con programación como variables, bucles, condiciones, funciones, tipos de datos, operadores, estructuras de control y más. También incluye términos relacionados con E/S de archivos, cadenas, caracteres y funciones matemáticas.
El documento lista los comandos de Raptor y Java y describe su función. Los comandos de Raptor incluyen asignación, llamada, entrada, salida, selección y ciclo. Los comandos de Java incluyen @author, @param, @return y @see. También describe funciones como printf, scanf, strcpy y funciones para crear, abrir y cerrar archivos.
Este documento describe los tipos de datos escalares en Python, incluyendo números enteros, flotantes, complejos, fraccionarios y lógicos. Explica las reglas para crear identificadores de variables y palabras reservadas. También cubre operaciones aritméticas, conversiones de tipos numéricos, y funciones matemáticas como redondeo en el módulo math.
Este documento presenta un resumen de las funciones en lenguaje C. Explica conceptos como la declaración y definición de funciones, el paso de parámetros, el ámbito de las variables, el uso de la memoria RAM, funciones recursivas, funciones inline, la función main(), y más. El documento parece ser parte de una presentación o apuntes sobre programación funcional en C, enfocándose en el uso correcto de funciones para dividir un problema grande en problemas más pequeños.
Este documento presenta un curso de introducción a Python. Explica que Python es un lenguaje de programación interpretado, tipado dinámicamente y fuertemente tipado que es multiplataforma y orientado a objetos. También cubre diferentes tipos de datos, variables, funciones, condiciones, bucles, manejo de errores y programación funcional en Python.
Si quiere descargar la presentación y los códigos fuente, dirijase a:
http://programaciondecomputadoresunalmzl.wikispaces.com/codigos_y_diapositivas
Le agradecería si me reporta los errores que encuentre en la diapositiva (daalvarez arroba unal punto edu punto co)
El documento describe Python, un lenguaje de programación dinámico y de propósito general creado por Guido van Rossum en 1991. Python es un lenguaje de alto nivel, orientado a objetos, interpretado y con una sintaxis sencilla. El documento explica características como tipado dinámico, tipado fuerte, tipos de datos, control de flujo, funciones, clases y módulos.
El documento contiene una lista de términos relacionados con programación como variables, bucles, condiciones, funciones, tipos de datos, operadores, estructuras de control y más. También incluye términos relacionados con E/S de archivos, cadenas, caracteres y funciones matemáticas.
El documento lista los comandos de Raptor y Java y describe su función. Los comandos de Raptor incluyen asignación, llamada, entrada, salida, selección y ciclo. Los comandos de Java incluyen @author, @param, @return y @see. También describe funciones como printf, scanf, strcpy y funciones para crear, abrir y cerrar archivos.
Este documento describe los tipos de datos escalares en Python, incluyendo números enteros, flotantes, complejos, fraccionarios y lógicos. Explica las reglas para crear identificadores de variables y palabras reservadas. También cubre operaciones aritméticas, conversiones de tipos numéricos, y funciones matemáticas como redondeo en el módulo math.
Este documento presenta un resumen de las funciones en lenguaje C. Explica conceptos como la declaración y definición de funciones, el paso de parámetros, el ámbito de las variables, el uso de la memoria RAM, funciones recursivas, funciones inline, la función main(), y más. El documento parece ser parte de una presentación o apuntes sobre programación funcional en C, enfocándose en el uso correcto de funciones para dividir un problema grande en problemas más pequeños.
Este documento presenta un curso de introducción a Python. Explica que Python es un lenguaje de programación interpretado, tipado dinámicamente y fuertemente tipado que es multiplataforma y orientado a objetos. También cubre diferentes tipos de datos, variables, funciones, condiciones, bucles, manejo de errores y programación funcional en Python.
Si quiere descargar la presentación y los códigos fuente, dirijase a:
http://programaciondecomputadoresunalmzl.wikispaces.com/codigos_y_diapositivas
Le agradecería si me reporta los errores que encuentre en la diapositiva (daalvarez arroba unal punto edu punto co)
Si quiere descargar la presentación y los códigos fuente, dirijase a:
http://programaciondecomputadoresunalmzl.wikispaces.com/codigos_y_diapositivas
Le agradecería si me reporta los errores que encuentre en la diapositiva (daalvarez arroba unal punto edu punto co)
Este documento presenta una introducción a los conceptos básicos de la programación, incluyendo definiciones de términos como algoritmo, programa, hardware, software, lenguajes de programación, datos, y más. Explica los pasos para resolver un problema con una computadora, como analizar el problema, diseñar un algoritmo, implementarlo en un lenguaje de programación, y depurarlo. También describe conceptos como pseudocódigo y diagramas de flujo para describir algoritmos de manera más legible.
Este documento describe las principales librerías de la biblioteca estándar de C++, incluyendo stdio.h, stdlib.h, string.h y time.h, y sus funciones clave para entrada/salida, conversión de tipos, manipulación de cadenas y manejo de fecha y hora. También cubre librerías como assert.h, ctype.h, errno.h, limits.h y math.h y sus macros y funciones para diagnóstico, comprobación de tipos, manejo de errores y operaciones matemáticas.
Este documento describe los principales comandos y conceptos utilizados en Visual Basic, incluyendo variables, tipos de datos, matrices, procedimientos, funciones, estructuras de control y operadores. Explica cómo definir y utilizar variables, funciones y procedimientos, así como bucles y estructuras condicionales para controlar el flujo del programa. También cubre operadores aritméticos, de comparación, lógicos y de concatenación para realizar cálculos y comparaciones.
Este documento resume los conceptos básicos sobre cadenas en Python. Introduce las cadenas, incluyendo cadenas de varias líneas y secuencias de escape. Explica la diferencia entre ASCII y Unicode así como UTF-8. Cubre el indexado, slicing y métodos comunes de cadenas como lower(), upper(), find(), replace() y otros.
Este documento describe los tipos de datos y operadores en C. Incluye una descripción de los tipos de datos primitivos como enteros, flotantes y caracteres, así como operadores aritméticos, lógicos y de bits. También cubre estructuras de control de flujo como if/else y switch, así como funciones para entrada/salida, matemáticas y caracteres.
Este documento presenta las funciones de entrada y salida (E/S) en C, agrupadas en funciones de secuencias o flujos, bajo nivel y consola y puertos. Explica funciones como fopen para abrir archivos, printf para imprimir datos con formato, gets para leer una línea desde stdin y putc para escribir un carácter en un flujo.
Este documento describe la simbología utilizada en el software de diagramas de flujo Raptor. Incluye símbolos como asignación, llamada, entrada, salida, selección y ciclo, los cuales se utilizan para cambiar valores de variables, llamar agentes externos, pedir entrada, mostrar salida, tomar decisiones y repetir secuencias. También describe la interfaz del software, la cual incluye pantallas para el proceso y su ejecución, así como botones para reproducir, pausar, detener y avanzar por el diagrama.
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...Diego Andrés Alvarez Marín
Este documento describe diferentes tipos de datos definidos por el programador en C, incluyendo typedef, estructuras, uniones, enumeraciones y campos de bits. Explica cómo declarar y acceder a estas variables, así como inicializar estructuras y uniones. También cubre temas como padding, comparación de estructuras, arrays de estructuras y uniones, y funciones que devuelven múltiples valores.
Este documento trata sobre programación orientada a objetos y programación en Python. Explica conceptos clave de POO como abstracción, modularidad, encapsulación y herencia. También cubre temas de programación en Python como literales, funciones, palabras reservadas, operadores, identificadores y estructuras de control de flujo como if/else, for y while.
El documento describe las funciones propias del lenguaje Visual Basic que permiten trabajar con cadenas de caracteres, números, fechas y horas. Incluye funciones para el tratamiento de cadenas como Lcase, Ucase, Trim, Len, Asc, Chr, InStr, Left, Right y Mid; funciones para números como Round, Rnd y Randomize; y funciones de formato como FormatCurrency, FormatPercent y FormatDateTime.
El documento describe el tipo de dato double en Java. Double representa números de punto flotante de 64 bits, lo que permite representar un rango muy grande de números con alta precisión. Incluye ejemplos de operaciones comunes con valores double como suma, resta, multiplicación y división. También explica cómo se representan los números double en notación científica o con punto decimal.
Este documento describe diferentes tipos de bibliotecas en C++, incluyendo bibliotecas estándar como iostream y math, bibliotecas definidas por el programador, y el uso de prototipos y llamadas a funciones. También explica conceptos como el namespace std y ejemplos de uso común de bibliotecas.
Librerias Básicas y sus Funciones Lenguaje de Programación CCristian Maza
Este documento describe las principales bibliotecas de C++ y sus funciones. Incluye iostream para entrada/salida, math para operaciones matemáticas, stdio para entrada/salida estándar, stdlib para gestión de memoria y procesos, y string para manipulación de cadenas. Cada biblioteca define funciones clave como cout, pow, printf, free y strcpy.
Este documento describe las reglas y problemas propuestos para una maratón de programación en .NET que se llevará a cabo el 10 de noviembre de 2007 en la Universidad del Cauca. Se detallan 5 problemas de programación que los equipos participantes deberán resolver dentro de un tiempo límite. Cada problema consiste en desarrollar un programa en .NET que resuelva una tarea específica como analizar números, procesar imágenes o texto.
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
¿Cómo instalar Python en Windows?
Diapositivas que explican cómo instalar paso a paso Python en Windows.
Nota: Están orientadas a científicos e ingenieros con poca experiencia en el entorno de windows.
Este documento describe conceptos básicos de programación en R como agrupación de expresiones, ejecución condicional con if, bucles como for y while, creación de funciones, y definición de nuevos operadores binarios. Explica cómo R es un lenguaje de expresiones donde los comandos son funciones o expresiones que devuelven un resultado.
Fundamentos de programación librería string C++Milton Nicolay
La librería string.h de C proporciona funciones para manipular cadenas de caracteres. Incluye funciones para copiar, concatenar, comparar cadenas y partes de cadenas, calcular la longitud de una cadena, y buscar tokens dentro de una cadena. Algunas funciones populares son strcpy(), strcat(), strcmp(), strlen(), y strtok().
1. El documento explica cómo usar diccionarios en Python, incluyendo cómo definirlos, agregar elementos, acceder a valores mediante claves y recorrerlos. 2. Los diccionarios almacenan datos no ordenados mediante claves únicas asociadas a valores. 3. Se pueden usar diccionarios para crear bases de datos simples donde la clave identifica un elemento y el valor contiene sus datos.
Python es un lenguaje de programación dinámico e interpretado que ofrece tipado dinámico, fuerte tipado, flexibilidad y portabilidad. Sus principales características incluyen una sintaxis limpia y legible similar al pseudocódigo, una amplia biblioteca estándar y ser multiplataforma. Python se puede utilizar para el desarrollo web, bases de datos, software, juegos, bioinformática, física y educación.
This document is a resume for Shubham Srivastava seeking a position in mechanical engineering. It outlines his education including a Bachelor's degree in Mechanical Engineering, skills in CAD software and design, work experience in turbine manufacturing, participation in robotics competitions and college projects on vehicle technologies, and availability to start immediately.
Si quiere descargar la presentación y los códigos fuente, dirijase a:
http://programaciondecomputadoresunalmzl.wikispaces.com/codigos_y_diapositivas
Le agradecería si me reporta los errores que encuentre en la diapositiva (daalvarez arroba unal punto edu punto co)
Este documento presenta una introducción a los conceptos básicos de la programación, incluyendo definiciones de términos como algoritmo, programa, hardware, software, lenguajes de programación, datos, y más. Explica los pasos para resolver un problema con una computadora, como analizar el problema, diseñar un algoritmo, implementarlo en un lenguaje de programación, y depurarlo. También describe conceptos como pseudocódigo y diagramas de flujo para describir algoritmos de manera más legible.
Este documento describe las principales librerías de la biblioteca estándar de C++, incluyendo stdio.h, stdlib.h, string.h y time.h, y sus funciones clave para entrada/salida, conversión de tipos, manipulación de cadenas y manejo de fecha y hora. También cubre librerías como assert.h, ctype.h, errno.h, limits.h y math.h y sus macros y funciones para diagnóstico, comprobación de tipos, manejo de errores y operaciones matemáticas.
Este documento describe los principales comandos y conceptos utilizados en Visual Basic, incluyendo variables, tipos de datos, matrices, procedimientos, funciones, estructuras de control y operadores. Explica cómo definir y utilizar variables, funciones y procedimientos, así como bucles y estructuras condicionales para controlar el flujo del programa. También cubre operadores aritméticos, de comparación, lógicos y de concatenación para realizar cálculos y comparaciones.
Este documento resume los conceptos básicos sobre cadenas en Python. Introduce las cadenas, incluyendo cadenas de varias líneas y secuencias de escape. Explica la diferencia entre ASCII y Unicode así como UTF-8. Cubre el indexado, slicing y métodos comunes de cadenas como lower(), upper(), find(), replace() y otros.
Este documento describe los tipos de datos y operadores en C. Incluye una descripción de los tipos de datos primitivos como enteros, flotantes y caracteres, así como operadores aritméticos, lógicos y de bits. También cubre estructuras de control de flujo como if/else y switch, así como funciones para entrada/salida, matemáticas y caracteres.
Este documento presenta las funciones de entrada y salida (E/S) en C, agrupadas en funciones de secuencias o flujos, bajo nivel y consola y puertos. Explica funciones como fopen para abrir archivos, printf para imprimir datos con formato, gets para leer una línea desde stdin y putc para escribir un carácter en un flujo.
Este documento describe la simbología utilizada en el software de diagramas de flujo Raptor. Incluye símbolos como asignación, llamada, entrada, salida, selección y ciclo, los cuales se utilizan para cambiar valores de variables, llamar agentes externos, pedir entrada, mostrar salida, tomar decisiones y repetir secuencias. También describe la interfaz del software, la cual incluye pantallas para el proceso y su ejecución, así como botones para reproducir, pausar, detener y avanzar por el diagrama.
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...Diego Andrés Alvarez Marín
Este documento describe diferentes tipos de datos definidos por el programador en C, incluyendo typedef, estructuras, uniones, enumeraciones y campos de bits. Explica cómo declarar y acceder a estas variables, así como inicializar estructuras y uniones. También cubre temas como padding, comparación de estructuras, arrays de estructuras y uniones, y funciones que devuelven múltiples valores.
Este documento trata sobre programación orientada a objetos y programación en Python. Explica conceptos clave de POO como abstracción, modularidad, encapsulación y herencia. También cubre temas de programación en Python como literales, funciones, palabras reservadas, operadores, identificadores y estructuras de control de flujo como if/else, for y while.
El documento describe las funciones propias del lenguaje Visual Basic que permiten trabajar con cadenas de caracteres, números, fechas y horas. Incluye funciones para el tratamiento de cadenas como Lcase, Ucase, Trim, Len, Asc, Chr, InStr, Left, Right y Mid; funciones para números como Round, Rnd y Randomize; y funciones de formato como FormatCurrency, FormatPercent y FormatDateTime.
El documento describe el tipo de dato double en Java. Double representa números de punto flotante de 64 bits, lo que permite representar un rango muy grande de números con alta precisión. Incluye ejemplos de operaciones comunes con valores double como suma, resta, multiplicación y división. También explica cómo se representan los números double en notación científica o con punto decimal.
Este documento describe diferentes tipos de bibliotecas en C++, incluyendo bibliotecas estándar como iostream y math, bibliotecas definidas por el programador, y el uso de prototipos y llamadas a funciones. También explica conceptos como el namespace std y ejemplos de uso común de bibliotecas.
Librerias Básicas y sus Funciones Lenguaje de Programación CCristian Maza
Este documento describe las principales bibliotecas de C++ y sus funciones. Incluye iostream para entrada/salida, math para operaciones matemáticas, stdio para entrada/salida estándar, stdlib para gestión de memoria y procesos, y string para manipulación de cadenas. Cada biblioteca define funciones clave como cout, pow, printf, free y strcpy.
Este documento describe las reglas y problemas propuestos para una maratón de programación en .NET que se llevará a cabo el 10 de noviembre de 2007 en la Universidad del Cauca. Se detallan 5 problemas de programación que los equipos participantes deberán resolver dentro de un tiempo límite. Cada problema consiste en desarrollar un programa en .NET que resuelva una tarea específica como analizar números, procesar imágenes o texto.
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
¿Cómo instalar Python en Windows?
Diapositivas que explican cómo instalar paso a paso Python en Windows.
Nota: Están orientadas a científicos e ingenieros con poca experiencia en el entorno de windows.
Este documento describe conceptos básicos de programación en R como agrupación de expresiones, ejecución condicional con if, bucles como for y while, creación de funciones, y definición de nuevos operadores binarios. Explica cómo R es un lenguaje de expresiones donde los comandos son funciones o expresiones que devuelven un resultado.
Fundamentos de programación librería string C++Milton Nicolay
La librería string.h de C proporciona funciones para manipular cadenas de caracteres. Incluye funciones para copiar, concatenar, comparar cadenas y partes de cadenas, calcular la longitud de una cadena, y buscar tokens dentro de una cadena. Algunas funciones populares son strcpy(), strcat(), strcmp(), strlen(), y strtok().
1. El documento explica cómo usar diccionarios en Python, incluyendo cómo definirlos, agregar elementos, acceder a valores mediante claves y recorrerlos. 2. Los diccionarios almacenan datos no ordenados mediante claves únicas asociadas a valores. 3. Se pueden usar diccionarios para crear bases de datos simples donde la clave identifica un elemento y el valor contiene sus datos.
Python es un lenguaje de programación dinámico e interpretado que ofrece tipado dinámico, fuerte tipado, flexibilidad y portabilidad. Sus principales características incluyen una sintaxis limpia y legible similar al pseudocódigo, una amplia biblioteca estándar y ser multiplataforma. Python se puede utilizar para el desarrollo web, bases de datos, software, juegos, bioinformática, física y educación.
This document is a resume for Shubham Srivastava seeking a position in mechanical engineering. It outlines his education including a Bachelor's degree in Mechanical Engineering, skills in CAD software and design, work experience in turbine manufacturing, participation in robotics competitions and college projects on vehicle technologies, and availability to start immediately.
El documento describe las virtudes de los abrazos, afirmando que no existen los malos abrazos y que son buenos para la salud, ya que son libres de colesterol, artificiales y pesticidas. Además, los abrazos no requieren baterías, son gratuitos, se regeneran con el uso y proporcionan calor. Finalmente, el documento recomienda abrazar a otros para tratar problemas como la soledad y la depresión.
O documento discute técnicas de apresentação, explicando que falar em público é uma habilidade essencial no trabalho. Ele aborda conceitos de comunicação como emissor, mensagem, canal e receptor. Por fim, lista barreiras como filtragem, percepção seletiva e sobrecarga de informação que podem atrapalhar a comunicação eficaz.
Este documento resume las principales fuentes de energía eléctrica como centrales térmicas, nucleares, aerogeneradores y de ciclo combinado. Explica brevemente cómo funcionan cada una y los procesos involucrados en la generación de electricidad. También incluye cinco reglas para ahorrar energía en el hogar y discute los futuros desafíos energéticos como el cambio climático y la necesidad de reducir las emisiones contaminantes.
Alemania es un país en Europa central conocido por su rica historia, cultura e industria. El documento presenta una recopilación de las mejores fotografías tomadas en Alemania durante el año 2006. Cubre una variedad de temas que capturan la vida cotidiana y los paisajes de este país.
Federico pasó sus vacaciones de invierno saliendo y divirtiéndose con amigos. Pasó tiempo jugando al fútbol, yendo de compras, jugando videojuegos, al cine y al abasto. Disfrutó de su tiempo libre con amigos y la pasó muy bien durante sus vacaciones.
El documento describe el concepto de tercer entorno (E3) y cómo las nuevas tecnologías de la información y comunicación (NTIC) están creando un nuevo espacio social para la educación. El E3 se caracteriza por ser informacional, representacional, comprimido, de movilidad electrónica y digital, a diferencia del primer entorno natural (E1) y el segundo entorno urbano (E2) que son materiales, presenciales y extensos. Internet es más que un artefacto tecnológico, es parte de un sistema socio-técnico que implica
El documento describe la evolución histórica del concepto de inteligencia desde la antigüedad hasta la actualidad. Explica las teorías de Sócrates, Alcmeón, Binet, Stern, Piaget y Weschler sobre la inteligencia. También describe las posturas actuales de Feuerstein, Gardner, Sternberg, Goleman y Damasio, destacando la teoría de las inteligencias múltiples de Gardner. Finalmente, presenta un proyecto para el desarrollo de la inteligencia en niños con áreas como recreación, administración
Las grandes empresas de logística como Amazon han demostrado ser verdaderos reyes de la logística gracias a su capacidad para entregar miles de millones de pedidos a tiempo cada año a clientes de todo el mundo, lo que les ha permitido convertirse en grandes vencedores del comercio minorista.
Los planetas giran alrededor del sol y no tienen luz propia, sino que reflejan la luz solar. Tienen dos movimientos principales: rotación sobre su eje, que determina la duración del día, y traslación alrededor del sol en órbitas, completando cada una un año en el planeta. El documento describe brevemente características de Mercurio, Venus, Tierra, Urano y la creación del sistema solar.
El documento resume una exposición de The Designers Republic (tDR) en La Capella. Se describe cómo TDR transformó simbólicamente la galería en un espacio entre un templo, pabellón y centro comercial de forma irónica. También se explica que la exposición, que recopiló una década de trabajo, fue probablemente la acción artística más representativa y ambiciosa de TDR. Se utilizaron elementos de la cultura pop como logotipos, ciencia ficción y videojuegos de una manera que reflejaba la representación
Ana, Victor y Dori se mudan de Sevilla en mayo de 2009. El documento es breve y solo menciona los nombres de tres personas que aparentemente se mudan de la ciudad de Sevilla, España, en ese mes y año.
Ler o texto todo para compreender, resumir as partes mais importantes em frases curtas ou palavras-chave, melhorar os apontamentos ligando as ideias e organizando em esquema, reler e avaliar os apontamentos para melhorias.
Conferencia evaluacion enfoque a pruebas de admisionguested7395
Este documento describe el enfoque epistémico de la evaluación orientado a pruebas de admisión. Explica el contexto internacional y nacional de la evaluación, así como los marcos conceptuales de la evaluación normativa, criterial, ontológica y epistemológica. También analiza pruebas estandarizadas como PISA y sus implicancias para la medición de capacidades y habilidades de los estudiantes.
El cuerpo humano mantiene diferentes niveles de pH en diferentes fluidos y tejidos para mantener la homeostasis. La sangre tiene un pH entre 7.35 y 7.45, mientras que el jugo gástrico es más ácido con un pH de 1.5 para ayudar a la digestión, y la orina tiene un pH alcalino de 8.0 para eliminar desechos.
Este documento proporciona una introducción a Python, incluyendo qué es Python, sus características, quién lo usa, tipos de datos básicos como listas y diccionarios, definición de funciones, clases, herencia, manejo de excepciones y ejemplos.
Este documento presenta un curso introductorio a la programación con Python3. Explica conceptos básicos como el análisis y diseño de algoritmos, las características del lenguaje Python, los tipos de datos básicos como enteros, reales, cadenas y su manipulación, y las estructuras de control de flujo como condicionales if/else y repetitivas for y while para la resolución de problemas. El objetivo del curso es enseñar los fundamentos de la programación a través del lenguaje Python de manera práctica y did
El documento explica el uso de listas y ciclos for-in en Python. Introduce las listas como un tipo de dato compuesto que permite almacenar múltiples valores bajo una misma variable. Explica cómo acceder a elementos individuales de una lista mediante su índice y funciones como len() para obtener la longitud de una lista. También cubre el uso de ciclos for-in para iterar sobre los elementos de una lista de forma natural, y la función range() para generar listas de números de manera rápida.
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfMarxx4
1. El documento introduce Python y su entorno de desarrollo, explicando conceptos básicos como su sintaxis, variables, tipos de datos y operadores. 2. Se describen modelos comunes de inteligencia artificial como regresión, clasificación, agrupamiento y redes neuronales que se usan en ciencia de datos. 3. Se requiere instalar Anaconda para trabajar con Python y su entorno de desarrollo.
Python es un lenguaje de programación de alto nivel ampliamente utilizado. Puede usarse para una variedad de tareas, incluido desarrollo web, análisis de datos y más. Python se ejecuta mediante un intérprete en lugar de compilarse, lo que significa que el código se puede ejecutar directamente. Algunas características clave incluyen operaciones numéricas, cadenas, variables, funciones y tipos de datos como enteros, flotantes y cadenas.
El documento describe los elementos básicos de un programa en C++, incluyendo la estructura, funciones, variables, operadores y sentencias de control. Explica cómo crear un programa simple que asigne el resultado de sumar dos números a una variable y devuelva un valor. También cubre temas como incluir bibliotecas, mostrar mensajes por pantalla y realizar operaciones matemáticas básicas.
Django es un framework web popular escrito en Python que sigue el patrón MVC. Proporciona herramientas como un ORM, sistema de plantillas, administrador de contenido, autenticación incorporada y más. Django usa una arquitectura MTV donde las vistas reemplazan a los controladores y las plantillas a las vistas. Esto permite crear aplicaciones web de forma rápida y eficiente siguiendo principios como DRY.
Python es un lenguaje de programación de alto nivel, interpretado y no requiere compilación. Es ampliamente utilizado en áreas como desarrollo web, ciencia e inteligencia artificial por organizaciones como Google, NASA y Disney. El documento explica conceptos básicos de Python como impresión de texto, operaciones matemáticas, cadenas, entrada de datos, variables y más.
Este documento presenta una introducción al lenguaje de programación C++. Explica que C++ fue creado por Bjarne Stroustrup en 1983 como una extensión del lenguaje C, agregando características de orientación a objetos. Luego describe algunos principios básicos del diseño del lenguaje como la sintaxis, comentarios, identificadores, palabras reservadas, declaración de constantes, variables y tipos. Finalmente, introduce conceptos como paradigmas de programación, gestión de memoria y excepciones en C++.
Este documento resume los conceptos básicos de entrada y salida en Java. Explica que la entrada y salida se realiza a través de flujos y describe los flujos predefinidos System.in y System.out. Detalla los métodos println y printf para la salida formateada y explica cómo la clase Scanner permite la entrada desde teclado de diferentes tipos de datos de forma sencilla.
Este documento presenta una guía para el examen diagnóstico de programación utilizando el programa PSeInt. Explica brevemente qué es PSeInt, describe su interfaz y área de trabajo. Luego, introduce conceptos clave como el pseudocódigo, tipos de datos, expresiones, estructuras de control y ejemplos resueltos de algoritmos en pseudocódigo.
Esta es la presentación utilizada en curso de introducción a Python para alumnos de Ingeniería, se asume que el lector tiene ya algo de experiencia en programación.
El documento describe los elementos básicos de programación en C, incluyendo definiciones clave, estructura general de un programa, tipos de datos, variables, constantes, y operadores. Explica que un programa en C consta de funciones, con la función principal siempre llamada main. Describe los cinco tipos de datos fundamentales en C y cómo declarar y definir variables y constantes.
El documento describe los elementos básicos de la programación en C, incluyendo definiciones clave, estructura general de un programa, tipos de datos, variables, constantes, y operadores aritméticos y lógicos. Explica que todo programa en C consta de funciones, con la función principal main() llamada primero, y cubre conceptos como declaración de variables, tipos de datos fundamentales como enteros y caracteres, y las formas de definir constantes.
Java fundamentos -15 consejos practicos open saturday 2018Eudris Cabrera
Mi presentación en el Open Saturday Santiago 2018 @ UAPA, Santiago de los caballeros. 15 consejos prácticos sobre características fundamentales que todo programador Java debe tener en cuenta.
Python es un lenguaje de programación interpretado creado por Guido Van Rossum con una sintaxis limpia e intuitiva. Ofrece ventajas como ser legible, productivo, portable y viene con muchas librerías incorporadas. Para usar Python se necesita un editor de texto y la consola, donde se pueden ejecutar comandos de Python directamente o archivos con extensión .py. Python soporta diferentes tipos de datos como enteros, cadenas, listas, diccionarios y más. También incluye funciones, clases, condicionales if/elif/else, bu
El documento presenta una introducción al lenguaje de programación C++. Explica que C++ extiende el lenguaje C con conceptos de orientación a objetos. Luego, resume los principales temas que se cubrirán, incluyendo clases, herencia, sobrecarga de operadores, plantillas, excepciones y la biblioteca estándar de C++. Finalmente, incluye una breve bibliografía.
El documento presenta una introducción al lenguaje de programación C++. Explica que C++ extiende el lenguaje C con conceptos de orientación a objetos. Luego, resume los principales temas que se abordarán, incluyendo clases, herencia, sobrecarga de operadores, plantillas, excepciones y la biblioteca estándar de C++. Finalmente, incluye una breve bibliografía sobre el tema.
Similar a Introducción a la programación en Python (20)
Mapa conceptuales de proyectos social y productivo.pdfYudetxybethNieto
Los proyectos socio productivos constituyen una variante de formación laboral de incalculable valor formativo, que propician la participación activa, protagónica y participativa de los escolares, de conjunto con miembros de la familia y la comunidad.
Roberto Butragueño Revenga - eRetail Day - edición México 2024
Introducción a la programación en Python
1. Introducción a la programación
Internet Solutions
www.codesyntax.com
Azitain industrialdea, 3-K
E-20600 Eibar
Tel.: +34 943821780
en Python
Aitzol Naberan - @aitzol
2. Índice
1.Introducción a Python
2.Presentación del lenguaje
1.Hola mundo
2.Variables
3.Tipos de datos
4.Estructuras de control
5.Control del flujo
6.Estructuras de datos
7.Entrada/salida
8.Errores y excepciones
3. Índice
3.Programación Orientada a Objetos
4.Módulos
5.Logging y debuging
6.UnitTesting
7.Virtualenv y pypi
8.Librerías de terceros
4. Introducción
● Alto nivel
● Interpretado
● Es procesado en tiempo de ejecución por el
interprete. No hay que compilar. Similar a PERL o
PHP
● Orientado a objetos
● Python soporta la programación orientada a objetos
para encapsular código dentro de objetos.
● Scripting
● Interactivo
● Es posible utilizar una shell de Python y programar
directamente en ella.
5. Introducción
● Desarrollado por Guido Van Rossum (actualmente trabajando
en Dropbox) a finales de los 80
● Incorpora conceptos presentes en distintos lenguajes como
ABC, Modula-3, C, C++, Algol, Smalltalk, incluso la shell de
Unix
● Liberado bajo licencia GNU General Public License (GPL)
● Actualmente es mantenido por un core de desarrolladores,
pero Guido sigue manteniendo un rol muy importante en la
dirección del desarrollo
● El nombre se debe al grupo británico Monty Python
6. Introducción
● Fácil de aprender: tiene relativamente pocas keywords y
una sintaxis clara
● Código legible: la estructura de los programas en Python
hace que se puedan leer fácilmente
● Mantenible
● Modo interactivo: este modo permite probar código,
consultar documentación o hacer debugging
● Portable: Python puede correr en una gran variedad de
plataformas manteniendo el mismo interfaz.
● Extensible: Es posible añadir módulos al interprete. Estos
módulos permiten añadir funcionalidades al interprete.
● Escalable: ofrece una mejor estructura para programas
largos que el puro shell scripting.
7. Introducción
Python 2 vs Python 3
● Python 3 es publicado a finales de 2008
● Última versión de Python 2 es la 2.7 a medidos de 2010
● Python 2.7 no recibe nuevas características
● El soporte de librerías externas en Python 3 es menor que en
Python 2 (empieza a cambiar)
● ¿Cuál elegir?
● Python 3 si todas las librerías a utilizar lo soportan
● Python 2 si no es así
● https://wiki.python.org/moin/Python2orPython3
● Utilizaremos Python 3
8. Hola mundo
Shell interactiva
Python 3.2.3 (default, Feb 14 2013, 22:44:55)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("¡Hola mundo!")
¡Hola mundo!
>>>
Fichero de script
Ceia:Introduccion Python >echo 'print("¡Hola Mundo!")' > primero.py
Ceia:Introduccion Python >python primero.py
¡Hola Mundo!
9. Variables
● Las variables se crean al asignarles un valor
● No es necesario especificar el tipo
● El operador de asignación es = y el de comparación ==
● Intentar acceder a un valor antes de que sea creado provoca un error
● Python distingue mayúsculas y minúsculas
● No pueden comenzar por un número
● Pueden contener letras, números y guiones bajos
● No pueden ser ninguna de las palabras reservadas
and, assert, break, class, continue, del, del, elif, else, except, exec,
finally, for, from, global, if, import, in, is, lambda, not, or, pass, print,
raise, return, try, while
10. Variables
>>> x = 3 #La variable x se crea en este momento
>>> x
3
>>> x == 4
False
>>> y
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'y' is not defined
>>> X = 5
>>> x == X
False
>>> 2aa = 6
File "<stdin>", line 1
2aa = 6
^
SyntaxError: invalid syntax
>>> def = 5
File "<stdin>", line 1
def = 5
^
SyntaxError: invalid syntax
11. Tipos de datos
Numéricos
La sintaxis no tiene misterio: los operadores +,-,* y / funcionan como en cualquier otro
lenguaje. Para las agrupaciones se utilizan los paréntesis.
>>> 2 + 2
4
>>> 50 5*
6
20
>>> (50 5*
6) / 4
5.0
>>> 8 / 5 # la división siempre devuelve un valor de coma flotante
1.6
Para quedarnos con la parte entera de una división podemos utilizar el operador // y
para conseguir el resto utilizaremos el operador %
>>> 17 // 3 # floor division discards the fractional part
5
>>> 17 % 3 # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2 # result * divisor + remainder
17
12. Tipos de datos
Numéricos
El operador de potencia es **.
>>> 5 ** 2 # cuadrado de 5
25
>>> 2 ** 7 # 2 elevado a 7
128
Tipos numéricos
● Enteros: int
● Coma flotante: float
● Números complejos: sufijo 'j' para la parte compleja
● 3+5j
● Decimal
● Fraction
● Los dos últimos no están disponibles en el namespace por defecto
(necesitan ser importados para poder ser utilizados)
13. Ejercicio 1
Calcular el IVA
Se trata de recoger un valor desde la linea de comandos y calcular el IVA que le
corresponde (para este primer ejemplo supondremos un tipo único de IVA del 21%)
Tips
● Para la entrada de datos desde la shell utilizaremos la función input
>>> valor = input("Introduce el valor:")
● Para hacer cast de una cadena a entero utilizaremos int()
>>> int(cadena)
Tiempo: 10 min
14. Tipos de datos
Cadenas de caracteres (Strings)
●Se definen indistintamente con comillas simples (‘...’) o comillas dobles (“...”)
●Se utiliza para escapar las comillas y caracteres especiales
>>> 'comillas sencillas'
'comillas sencillas'
>>> "comillas dobles"
'comillas dobles'
>>> ""escapando las comillas""
'"escapando las comillas"'
●En el modo interactivo los string se muestran entre comillas y los caracteres especiales
escapados con backslash
●Pueden mostrarse distintos a la entrada, pero tanto entrada como salida son equivalentes
●La función print() muestra una salida mucho mas legible, omitiendo las comillas e
imprimiendo los caracteres especiales
>>> s = "Primera líneanSeguna línea"
>>> s #No usamos la función print()
'Primera líneanSeguna línea'
>>> print(s) #Usando la función print()
Primera línea
Seguna línea
15. Tipos de datos
Cadenas de caracteres (Strings)
●Si queremos evitar que print interprete los caracteres especiales, podemos usar
raw strings
>>> print("c:algúnnombre")
c:lgún
ombre
>>> print(r"c:algúnnombre") # carácter r antes del string
c:algúnnombre
●Podemos tener strings multi linea usando triples comillas “””...””” o ‘’’...’’’
●Los saltos de linea se incluyen automáticamente. Esto se puede cambiar usando al
finalizar la linea (que no queremos que se convierta en un salto)
>>> print("""
... Uso: prueba [OPTIONS]
... h
Muestra este mensaje
... v
Muestra la versión
... """)
Uso: prueba [OPTIONS]
h
Muestra este mensaje
v
Muestra la versión
# salto de línea final
16. Tipos de datos
Cadenas de caracteres (Strings)
●Los strings pueden ser indexados, siendo el primer Índice el 0. El número de Índices es
n-1 siendo n el número total de elementos que componen el string.
●No existe el tipo char; un carácter es un string de tamaño 1
>>> palabra = "Python"
>>> palabra[0]
'P'
>>> palabra[5]
'n'
●Se pueden usar Índices negativo para acceder a los elementos desde la derecha
●Podemos usar el slicing para obtener subcadenas
>>> palabra[0:2]#caracteres desde la posición 0 (incluido) a la 2
'Py' #(excluido)
>>> palabra[2:5]#caracteres desde la posición 2 (incluido) a la 5
'tho' #(excluido)
●El elemento indicado en el primer Índice siempre se incluye, mientras que el indicado en el
segundo siempre se excluye
●No indicar el primer elemento equivale a 0
●No indicar el segundo elemento equivale el tamaño total del string
17. Tipos de datos
Cadenas de caracteres (Strings)
●Intentar acceder a un Índice inexistente provocará un error
>>> palabra[42]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
●En cambio, se usarán valores por defecto cuando estemos haciendo slicing
>>> palabra[4:42]
'on'
>>> palabra[42:]
''
●Los strings son inmutables. Es decir, intentar asignar un valor en un Índice del string
provocará un error
●Para poder modificar un string ya creado se tiene que crear uno nuevo
>>> palabra[0] = 'J'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> 'J' + palabra[1:]
'Jython'
>>> palabra[:2] + 'py'
'Pypy'
18. Tipos de datos
Listas
●Son colecciones de elementos que se escriben entre corchetes separados por comas
●Los elementos pueden ser de distintos tipos, aunque normalmente suelen ser del mismo
●Como los strings son indexables
●También podemos utilizar el slicing para acceder a sublistas
●Las operaciones de slicing devuelven una nueva lista
●A diferencia de los strings, las listas son mutables. Es decir se puede cambiar el elemento
situado en un Índice
●Es posible añadir elementos al final de la lista con el método append()
●Podemos asignar nuevos valores directamente a slices, con esta operación es posible
cambiar el tamaño de la lista o eliminar todos sus elementos
20. Estructuras de control
If
>>> x = int(input("Introduce un entero: "))
Introduce un entero: 42
>>> if x < 0:
... x = 0
... print('Negativo, cambiado a cero')
... elif x == 0:
... print('Cero')
... elif x == 1:
... print('Uno')
... else:
... print('Mayor')
...
●Tanto el bloque else como los bloques elif son opcionales
●En el caso de elif puede haber más de uno
●El bloque elif es sustuto de else if: y se utiliza para evitar el exceso de indentación
●Indentación:
● No existe ningún carácter para marcar los bloques ({})
● Los bloques se marcan con niveles de indentación
● Por convención se utilizan 4 espacios por nivel de indentación
21. Estructuras de control
For
●El bloque for itera sobre todos los elementos de cualquier secuencia dada
>>> palabras = ['gato', 'ventana', 'remolacha']
>>> for p in palabras:
... print(p, len(p))
...
gato 4
ventana 7
remolacha 9
While
●Repite el bloque mientras se cumpla la condición sea verdadera
>>> a, b = 0, 1 #Notese la asignación múltiple
>>> while b < 10:
... print(b)
... a, b = b, a+b
1
1
2
3
5
8
22. Ejercicio 2
Calcular el IVA 2.0
Se trata de recoger valores que introduzca el usuario, para después calcular el IVA de cada
uno de los valores. Mientras el usuario no teclee la palabra fin ser recogerán valores. Para
finalizar se mostrará en pantalla tanto el valor introducido como el IVA correspondiente.
Continuamos suponiendo un IVA común del 21%
Tips
●Tendremos que utilizar listas
●Bucles for y while
●Y la solución al ejercicio anterior
●Es buen momento para empezar a escribir el código en un editor. Se puede
seguir utilizando la consola para probar.
Tiempo: 20 min
23. Secuencias de control
Sentencias break, continue y else dentro de iteraciones
●La sentencia break termina con la ejecución del bloque while o for en el que se encuentra
●Los bloques de iteración pueden contener una sentencia else que se ejecuta cuando
se agotan los elementos de una lista (for) o cuando la condición se convierte en false,
pero no cuando el bucle termina con un break
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'igual a', x, '*', n//x)
... break
... else:
... #El bucle a terminado sin encontrar factores
... print(n, 'es un número primo')
...
2 es un número primo
3 es un número primo
4 igual a 2 * 2
5 es un número primo
6 igual a 2 * 3
7 es un número primo
8 igual a 2 * 4
9 igual a 3 * 3
24. Secuencias de control
Sentencias break, continue y else dentro de iteraciones
●La sentencia continue corta la ejecución de la iteración y pasa a la siguiente
>>> for num in range(2, 10):
... if num % 2 == 0:
... print(num, 'es un número par')
... continue
... print('Encontrado el número', num)
...
2 es un número par
Encontrado el número 3
4 es un número par
Encontrado el número 5
6 es un número par
Encontrado el número 7
8 es un número par
Encontrado el número 9
Sentencias pass
●La sentencia pass no hace nada:). Se utiliza cuando es sintácticamente necesaria, pero
el programa no requiere acción, o para crear clases mínimas, o como recordatorio de
implementar algo
25. Funciones
●Las funciones se definen mediante la palabra clave def (que viene de definition)
● Después de def viene el nombre de la función
● Seguidamente entre paréntesis la lista de parémetros formales
● La definición finaliza con el caracter :
● El cuerpo comienza en la siguiente linea y tiene que estar indentado
●Las funciones en Python siempre devuelven valor
● El valor se devuelve con la sentencia return (el tipo de lo devuelto no se especifica)
● Si la función no devuelve ningún valor explícitamente se devuelve el valor nulo
● Este valor nulo es None y viene definido por defecto en el lenguaje
●Para documentar una función es posible añadir un string como primera linea de la función
(a este string se le llama Docstring y es posible utilizar herramientas para generar
documentación automáticamente)
●El paso de parámetros: “Call By-Sharing”
● Los parámetros son referencias a las variables enviadas
● Si la variable enviada es inmutable, se llama “por valor”
● Si la variable es mutable, se llama “por referencia”
● Si a la variable se le asigna otra referencia, ej una nueva lista, la referencia original no
se pierde, funciona como llamada “por valor”
26. Funciones
>>> def fib(n):
... """Imprime los elementos menores que n de la serie
... de Fibonacci"""
... a,b = 0, 1
... while a < n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
>>> fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
27. Ejercicio 3
Calcular el IVA 2.1
Vamos a modificar el ejemplo 2 para utilizar funciones. Se trata de utilizar por lo menos dos
funciones: una para recoger los datos del usuario y otra para hacer los cálculos
Tips
●No hay tips
Tiempo: 10 min
28. Funciones
Argumentos por defecto
●Tenemos la opción de asignar valores por defecto a algunos argumentos al definir la
función
>>> def preguntar(msg, reintentos=4, msg_error='Por favor, si o no'):
... while True:
... ok = input(msg)
... if ok in ('s', 'si', 'sí'):
... return True
... if ok in ('n','no'):
... return False
... reintentos = reintentos 1
... if reintentos < 0:
... raise OSError('El usuario no coopera')
... print(msg_error)
● Distintas opciones para llamar a esta función
● Solo con el argumento obligatorio: preguntar(‘¿Salimos?’)
● Con uno de los argumentos opcionales: preguntar(‘¿Salimos?’, 2)
● Con todos los argumentos: preguntar(‘¿Salimos?’, 2, ‘Veengaa, si o no’)
29. Funciones
Argumentos por defecto
●Los argumentos por defecto se evalúan en el momento de definir la función
>>> i = 5
>>> def f(arg=i):
... print(arg)
...
>>> i = 6
>>> f()
5
Importante:
● El valor por defecto se evalúa solamente una vez. Esto es importante cuando el
argumento es mutable
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
¡LAS MANOS FUERA DEL TECLADO!
31. Funciones
Argumentos por nombre
●Es posible llamar a la función especificando el nombre del argumento, con el formato
nombre=valor
●Casos de llamadas erroneas a la función
>>>def ejemplo(obligatorio, opcional1=1, opcional2=2):
... ...
>>> ejemplo() #Falta argumento obligatorio
>>> ejemplo(opcional1=4, ‘un_valor’) #Argumento nominal seguido
#de posicional
>>> ejemplo(opcional3=’otro_valor’) #Argumento desconocido
Lista de parámetros posicionales
●Si en la definición de la función añadimos un argumento de formato *nombre, al
llamar a la función nombre será una tupla (especie de lista inmutable) con
argumentos posicionales
Diccionario de parámetros nominales
●Si en la definición de la función añadimos un argumento de formato **nombre, este
contendrá un diccionario (estructura clave/valor) con argumentos nominales no
definidos formalmente
32. Estructuras de datos
Más operaciones con listas
● list.extend(L): equivalente a l[len(a):] = L
● list.insert(i, x): inserta el item x en la posición i
● list.remove(x): elimina la primera aparición de x
● list.pop([i]): elimina el elemento en la posición dada y lo devuelve. Si no se
especifica un Índice se devuelve y elimina el último elemento
(Nota: en este caso los corchetes hacen referencia a un
atributo opcional, no a una lista)
● list.index(x): devuelve el Índice del primer elemento con valor x. Lanza un
error en caso de que no exista el elemento
● list.count(x): cuenta el número de apariciones del elemento x
● list.sort(): ordena la lista (no devuelve una nueva lista)
● list.reverse(): revierte los elementos de la lista (no devuelve una nueva
lista)
33. Estructuras de datos
>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print(a.count(333), a.count(66.25), a.count('x'))
2 1 0
>>> a.insert(2, 1)
>>> a.append(333)
>>> a
[66.25, 333, 1,
333, 1, 1234.5, 333]
>>> a.index(333)
1
>>> a.remove(333)
>>> a
[66.25, 1,
333, 1, 1234.5, 333]
>>> a.reverse()
>>> a
[333, 1234.5, 1, 333, 1,
66.25]
>>> a.sort()
>>> a
[1,
1, 66.25, 333, 333, 1234.5]
34. Ejercicio 4
Implementar Pilas con listas
Hay que implementar la estructura de datos de Pila utilizando listas. Será suficiente con
Implementarlo en el shell interactivo
Tips
●Las pilas son estructuras de datos donde los elementos se añaden y se
recuperan desde la parte de 'arriba' de la estructura (last-in, first-out)
●Para consultar los metodos y atributos de disponibles para un objeto, se puede
utilizar la funcion dir()
Tiempo: 10 min
35. Ejercicio 5
Implementar Colas con listas
Hay que implementar la estructura de datos de Colas utilizando listas. Será suficiente con
Implementarlo en el shell interactivo
Tips
●Las colas son estructuras de datos donde los elementos se devuelven en el
mismo orden de inserción (first-in, first-out)
● Las listas no son muy eficientes para implementar colas (existen estructuras
mas apropiadas), dado que al eliminar el primer elemento hay que mover los
restantes
Tiempo: 10 min
36. Estructuras de datos
Comprensión de listas
● Se utiliza para crear una nueva lista como resultado de aplicarle una función a los
elementos de otra lista
>>> cuadrados = []
>>> for x in range(10):
... cuadrados.append(x**2)
...
>>> cuadrados
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> #Se puede implementar como:
... [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
● Definición: La comprensión de listas consiste en unos corchetes que contienen una
expresión seguida de una sentencia for, seguida de cero o mas sentencias for o if. El
resultado será una nueva lista resultante de aplicar la expresión a cada uno de los
elementos resultantes de la combinación de cláusulas if y for.
37. Estructuras de datos
Comprensión de listas: ejemplos
>>> vec = [4,
2,
0, 2, 4]
>>> # Filtrar la lista para eliminar valores negativos
>>> [x for x in vec if x >= 0]
[0, 2, 4]
>>> # Aplicar una función a todos los elementos
>>> [abs(x) for x in vec]
[4, 2, 0, 2, 4]
>>> # llamar a una función para cada elemento
>>> freshfruit = [' banana', ' loganberry ', 'passion fruit ']
>>> [weapon.strip() for weapon in freshfruit]
['banana', 'loganberry', 'passion fruit']
>>> # crear una lista de tuplas de la forma(numero, cuadrado)
>>> [(x, x**2) for x in range(6)]
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
>>> # para generar tuplas son necesarias la parentesis
>>> >>> [x,x**2 for x in range(10)]
File "<stdin>", line 1
[x,x**2 for x in range(10)]
^
SyntaxError: invalid syntax
>>> # aplanar la lista usando dos sentencias 'for'
>>> vec = [[1,2,3], [4,5,6], [7,8,9]]
>>> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
38. Estructuras de datos
Tuplas
●Las tuplas son similares a las listas, pero...
● Se definen entre paréntesis
● Son inmutables
●Comparten las características de indexado y slicing
Sets
●Colección de elementos no ordenada donde no se repite ninguno de sus
elementos
●Se definen entre llaves ( { ) o mediante la función set()
● Nota: Para crear un set vacío es necesario utilizar la función set, ya que el
par de llaves vacías creará un diccionario (se estudiaran en la siguiente
sección)
>>> cesta = {'naranja', 'manzana', 'naranja', 'pera', 'platano'}
>>> cesta
{'platano', 'manzana', 'pera', 'naranja'}
>>> 'naranja' in cesta
True
>>> 'fresa' in cesta
False
39. Estructuras de datos
>>> #operaciones sobre dos sets
... a = set('abracadabra')
>>> b = set('alacazam')
>>> a # letras únicas en a
{'a', 'r', 'b', 'c', 'd'}
>>> a b
# letras en a pero no en b
{'r', 'b', 'd'}
>>> a | b # letras en a o en b
{'a', 'c', 'b', 'd', 'm', 'l', 'r', 'z'}
>>> a & b # letras en a y en b
{'a', 'c'}
>>> a ^ b # letras en a o en b, pero no en los dos
{'b', 'd', 'm', 'l', 'r', 'z'}
40. Estructuras de datos
Diccionarios
●Son un conjunto de elementos clave:valor no ordenados
●Podemos usar cualquier tipo inmutable para la clave
● Tiene que ser inmutable en todos los niveles, no sirve una tupla de listas
● Lo mas típico es usar números o strings
●A diferencia de tuplas y listas que se indexan por un rango de números, los
diccionarios se indexan usando la clave
●Las operaciones principales sobre los diccionarios son almacenar y acceder a
valores
●Los valores pueden ser de cualquier tipo
●Escribir en una clave existente elimina el valor antiguo y almacena el nuevo (de
lo que se deduce que las claves tienen que ser únicas dentro del diccionario)
●Podemos construir diccionarios vacíos con la función dict() o con dos llaves {}
●Tambien podemos usar dict, para crear diccionarios directamente desde
secuencias de pares clave-valor.
42. Ejercicio 6
Imprimir un tamaño de fichero con el sufijo correspondiente
El objetivo de este ejercicio es implementar una función que dado un tamaño de fichero
(un entero) en bytes, imprima la versión amigable (con el sufijo correspondiente).
La función tiene que aceptar un parámetro que permita elegir el múltiplo con el que se
calcularan las versiones amigables (múltiplos de 1000, o múltiplos de 1024)
Tips
●Los sufijos para múltiplos de 1000 son ‘KB’,’MB’,’GB’,’TB’,’PB’,’EB’,’ZB’, ‘YB’
●Los sufijos para múltiplos de 1024 son ‘KiB’, ‘MiB’, ‘GiB’,’TiB’,’PiB’,’EiB’,’ZiB’,’YiB’
Tiempo: 30 - 45 min
43. Entrada salida
Ficheros
●La función básica para trabajar con ficheros es open(), y normalmente se utiliza con dos
argumentos: open(filename, mode)
●open devuelve un objeto de tipo file
●Modos
● ‘r’: solo lectura
● ‘w’: escritura - si existe un fichero del mismo nombre será borrado
● ‘a’: añadir - las escrituras se añaden al final del ficherp abierto
● ‘r+’:abre el fichero para lectura y escritura
●Por defecto el modo de apertura es ‘r’
●Normalmente los ficheros se abren en modo texto (por defecto el encoding es UTF8)
●Si añadimos una ‘b’ al modo de apertura, se abrira el fichero en modo binario
● En modo binario se leen cadenas de bytes
● Este modo se debería utilizar siempre que abramos ficheros que no contengan texto
(por ejemplo imagenes JPEG)
44. Entrada salida
Trabajando con objetos tipo File
Supongamos para los ejemplos, que f es un objeto de tipo file
●f.read(size) - Lee cierta cantida de información del fichero y lo devuelve como string o objeto
bytes. El parámetro size es opcional, y en caso de que no se proporcione se leera todo el
contenido del fichero.
●Al llegar al final del fichero read() devuelve un string vacio
>>> f.read()
'Este es el contenido completo del fichero.n'
>>> f.read()
''
●Podemos usar f.readline() para leer contenido hasta el final de line (busca el caracter n)
●readline no omite el caracter n devuelto, de esta manera sabemos que aún no hemos
llegado al final del fichero mientras no se devuelva ‘’
●También podemos iterar sobre el objeto file para leer el fichero linea a linea
>>> f.read()
'Este es el contenido completo del fichero.n'
>>> f.read()
''
●Tambien podemos usar el contenido del fichero como si de una lista se tratase con list(f) o
f.readlines()
45. Entrada salida
Trabajando con objetos tipo File
●Para las escrituras se utiliza f.write(string)
●Para escribir algo que no sea un string tendremos que convertirlo primero
>>> f = open('test', 'w')
>>> value = ('La respuesta', 42)
>>> s = str(value)
>>> f.write(s)
●Para conocer la posición en la que se encuentra el fichero podemos utiliza f.tell()
●f.seek(offset, from_what) nos permitira mover esta posición.
● La posición se calcula sumando el offset al valor from_what
● from_what puede ser cualquiera de estos valores:
● 0 : inicio del fichero (por defecto)
● 1 : posición actual
● 2 : final del fichero
>>> f = open('workfile', 'rb+')
>>> f.write(b'0123456789abcdef')
16
>>> f.seek(5) # Ir al 6º byte del fichero
5
>>> f.read(1)
b'5'
>>> f.seek(3,
2) # volver al 3er byte antes del fin del fichero
13
>>> f.read(1)
b'd'
46. Entrada salida
Guardar datos estructurados
● Guardar strings es sencillo
● Tratar con números es algo mas complejo, ya que read devuelve siempre strings y
tendriamos que hacer algún tipo de casting
● Pero al tratar con datos mas complejos, com listas anidadas, diccionarios, ... la
serialización y deserializacion, se combierte en algo mas complicado.
● serializar: convertir objetos a representación string
● deserializar: convertir strings en objetos
● Python permita utilizar el conocido formato de intercambio de archivos JSON para trabajar
con datos estructurados
●Para serializar datos utilizaremos json.dumps()
●Para deserializar utilizaremos json.loads(f)
●El modulo json sirve para serializar/deserializar listas y diccionarios, pero para poder
utilizarlo con clases custom creadas por nosotros tendremos que hacer algo mas de trabajo
(basicamente, proporcionar un método que convierta nuestra clase a algo manejable por
json y otro metodo que se encargue de leer un json y lo convierta en una instancia de
nuestro objeto)
●Python también proporciona el protocolo Pickle Este protocolo es especifico de python y
permite la serialización de datos arbitrarios
47. Errores y excepciones
Errores sintácticos
●Los errores sintacticos los encuentra el interprete cuando trata de ejecutar alguna
sentencia que no cumple con las normas de sintactica de Python
●Son relativamente sencillos de corregir
>>> while True print('Hello world')
File "<stdin>", line 1, in ?
while True print('Hello world')
^
SyntaxError: invalid syntax
Excepciones
●Son errores que se producen en tiempo de ejecución, son el resultado de condiciones
inesperadas o imposibles
>>> 10 * (1/0)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ZeroDivisionError: division by zero
>>> 4 + spam*3
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'spam' is not defined
>>> '2' + 2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: Can't convert 'int' object to str implicitly
48. Errores y excepciones
Manejo de excepciones
●Una excepción que no tratada probocará la detención del programa
●Para el manejo de excepciones tenemos el bloque try/except
>>> while True:
... try:
... x = int(input("Introduce un número: "))
... break
... except ValueError:
... print("Oops! Eso no es un número. Prueba otra vez...")
49. Errores y excepciones
Manejo de excepciones
>>> while True:
... try:
... x = int(input("Introduce un número: "))
... break
... except ValueError:
... print("Oops! Eso no es un número. Prueba otra vez...")
●Se trata de ejecutar todo lo que esté entre el bloque
●Si no ocurre ninguna excepción, el bloque except no se ejecuta
●Si ocurre alguna excepción, la ejecucion salta directamente al bloque except. Entonces, si
la excepción esta listada en el bloque except, se ejecuta el bloque except y la ejecución
vuelve al siguiente linea del bloque try
●Si ocurre una excepcion que no esta listada en el bloque except, la excepción se propaga
fuera del bloque try tratando de buscar algún except que la capture. Si no encuentra ningun
bloque que se encargue de la excepción, se la denomina ‘unhandled exception’ y detiene la
ejecución del programa mostrando un mensaje de error
50. Ejercicio 6
Imprimir un tamaño de fichero con el sufijo correspondiente
El objetivo de este ejercicio es implementar una función que dado un tamaño de fichero
(un entero) en bytes, imprima la versión amigable (con el sufijo correspondiente).
La función tiene que aceptar un parámetro que permita elegir el múltiplo con el que se
calcularan las versiones amigables (múltiplos de 1000, o múltiplos de 1024)
Tips
●Los sufijos para múltiplos de 1000 son ‘KB’,’MB’,’GB’,’TB’,’PB’,’EB’,’ZB’, ‘YB’
●Los sufijos para múltiplos de 1024 son ‘KiB’, ‘MiB’, ‘GiB’,’TiB’,’PiB’,’EiB’,’ZiB’,’YiB’
Tiempo: 30 - 45 min
51. Errores y excepciones
Manejo de excepciones
●Podemos tener mas de un bloque except por cada sentencia try
●Cada bloque except puede ocuparse de distintas excepciones
●Es posible que un mismo bloque except se encargue de mas de un tipo de excepción
● Es necesario listar lo tipos de excepción entre paréntesis
... except (RuntimeError, TypeError, NameError):
... pass
●Se puede omitir el tipo de excepción para tratar todas las excepciones
import sys
try:
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
except OSError as err:
print("OS error: {0}".format(err))
except ValueError:
print("Could not convert data to an integer.")
except:
print("Unexpected error:", sys.exc_info()[0])
52. Errores y excepciones
Manejo de excepciones
●Los bloques try/except aceptan un bloque else opcional
●Se ejecuta después del except
●Es util si se quiere añadir código que se tenga que ejecutar si el bloque try no lanza
ninguna excepción
●El usoi de else ayuda a que no se capturen por error excepciones que no se han lanzado
desde el bloque que se quería proteger
for arg in sys.argv[1:]:
try:
f = open(arg, 'r')
except IOError:
print('no se puede abrir', arg)
else:
print(arg, 'tiene', len(f.readlines()), 'lineas')
f.close()
53. Errores y excepciones
Lanzar excepciones
●Con la sentencía raise podemos forzar una excepción
>>> raise NameError('HiThere')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: HiThere
●El único argumento de raise indica la excepción que se tiene que lanzar
●Este argumento tiene que ser una instacia de excepción o una clase que herede de
Exception
●Si es necesario propagar la excepción (por que no se va a tratar) se puede hacer con una
versión simplificada de raise
>>> try:
... raise NameError('HiThere')
... except NameError:
... print('An exception flew by!')
... raise
...
An exception flew by!
Traceback (most recent call last):
File "<stdin>", line 2, in ?
NameError: HiThere
54. Errores y excepciones
La clausula finally
●Para definir código que se ejecute siempre utilizaremos la clausula finally
●El código de la clausula finally se ejecuta tanto si ocurre una excepción como si no
●Si una excepción no es tratada por nuestro código, vuelve a ser lanzada depués de llamar
a finally
55. Errores y excepciones
>>> def divide(x, y):
... try:
... result = x / y
... except ZeroDivisionError:
... print("division by zero!")
... else:
... print("result is", result)
... finally:
... print("executing finally clause")
...
>>> divide(2, 1)
result is 2.0
executing finally clause
>>> divide(2, 0)
division by zero!
executing finally clause
>>> divide("2", "1")
executing finally clause
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 3, in divide
TypeError: unsupported operand type(s) for /: 'str' and 'str'