Want to create interactive content? It’s easy in Genially!
PDS01 Fundamentos de Python.pptx
CEAT (Proyecto 1)
Created on November 5, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Puzzle Game
View
Scratch and Win
View
Microlearning: How to Study Better
View
Branching Scenarios Challenge Mobile
View
Branching Scenario Mission: Innovating for the Future
View
Piñata Challenge
View
Teaching Challenge: Transform Your Classroom
Transcript
SEMANA 1
Fundamentos de Python
Fundamentos de python
Objetivos:
- Comparar Python con otros lenguajes de Data Science.
- Comprender la sintaxis básica de Python y manejar variables y tipos de datos.
- Implementar estructuras de control y operadores.
- Escribir funciones simples en Python.
¿Qué es Python?
Lenguajes para Data Science
Python
Spark
Filosofía de Python (Zen)
Filosofía de Python (Zen)
¿Por qué Python?
Ventajas
Características
Funcionalidades de Python
5. Gestión Automática de Memoria
1. Lenguaje de Alto Nivel
2. Interpretado
6. Bibliotecas Estándar Ricas
3. Multiparadigma
4. Tipado Dinámico
Funcionalidades de Python
11. Programación Orientada a Objetos
7. Extensible
8. Portabilidad
12. Comunidades y Recursos Activos
9. Interactividad
10. Soporte para Librerías de Terceros
Instalación y ambiente de trabajo
- Python se puede instalar desde su página oficial: python.org.
- Herramientas recomendadas: Anaconda (gestor de entornos y paquetes), Jupyter Notebook (entorno interactivo).
- Anaconda incluye Python y las principales librerías de Data Science.
- Permite usar Jupyter Notebook para la escritura de código interactivo.
- Comando para instalar Anaconda: Visitar anaconda.com.
- Ver la guía de instalación del curso
- Interactivo vs script
Sintaxis básica de Python
- print("¡Hola, mundo!")
- Ejecución de script
- Comentarios en Python (# comentario) – una línea.
- Líneas de código que no se ejecutan
- Comentario de varias líneas: Usa ''' ... ''' o """ ... """.
- Ejemplo práctico: print() para salida de datos.
Variables y tipos de datos
- Variables:
- Asignación de valores: x = 10
- Nombres de variables: convenciones y buenas prácticas.
- No es necesario especificar el tipo de dato
- a = b = c = 1
- a, b, c = 1, 2, “Juan”
- Tipos de Datos:
- Números enteros (int): x = 10
- Números decimales (float): pi = 3.14
- Cadenas de texto (str): nombre = "Python”
- Booleanos (bool): esVerdadero = True
Conversión de tipos
- int(x [,base]) Converts x to an integer base specifies the base if x is a string.
- long(x [,base] ) Converts x to a long integer base specifies the base if x is a string.
- float(x) Converts x to a floating-point number.
- complex(real [,imag]) Creates a complex number.
- str(x) Converts object x to a string representation.
- repr(x) Converts object x to an expression string.
- eval(str) Evaluates a string and returns an object.
- tuple(s) Converts s to a tuple.
- list(s) Converts s to a list.
- set(s) Converts s to a set.
- dict(d) Creates a dictionary. d must be a sequence of (key,value) tuples.
- frozenset(s) Converts s to a frozen set.
- chr(x) Converts an integer to a character.
- unichr(x) Converts an integer to a Unicode character.
- ord(x) Converts a single character to its integer value.
- hex(x) Converts an integer to a hexadecimal string.
- oct(x) Converts an integer to an octal string.
- Aritméticos:
- Suma (+)
- Resta (-)
- Multiplicación (*)
- División (/)
- Mod (%)
- Exp (**)
- Lógicos:
- and
- or
- Not
- Comparación:
- Igual (==)
- Diferente (!=)
- Mayor (>)
- Menor (<)
- Combinaciones
Operadores en Python
Input del usuario
Para recibir una entrada del usuario
Estructuras de control: Condicionales
- if, elif, else:
- Permiten ejecutar código basado en una condición
Estructuras de control: Bucles
- for Loop:
- Iteración sobre secuencias.
- while Loop:
- Se repite mientras la condición sea verdadera.
Primeros pasos con funciones
- Definición de Funciones:
- Uso de def para crear funciones simples.
- Llamada a Funciones:
- Ejemplo práctico: saludo("Mundo").
Ejercicios prácticos
Laboratorio 1.1: Cálculos matemáticos
Laboratorio 1.2: Juego de adivinanza
Laboratorio 1.3: Números primos
Laboratorio 1.4: Fibonacci
Este material digital es propiedad de la Universidad Rafael Landívar, se comparte por medio de una licencia Creative Commons CC BY-NC-ND del tipo "Atribución-No Comercial-Compartir igual", la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales, ni se realicen obras derivadas. https://creativecommons.org/licenses/by-nc-nd/3.0/gt/
Descripción: Ofrece una consola interactiva para pruebas y exploración rápida del código. Ventaja: Facilita el aprendizaje y la experimentación.
Descripción: Python es fácil de leer y escribir. Su sintaxis clara y concisa permite desarrollar programas de manera rápida y efectiva. Ventaja: Reducción del tiempo de desarrollo y facilidad de mantenimiento del código.
Descripción: Python maneja automáticamente la memoria mediante un recolector de basura. Ventaja: Simplifica el manejo de la memoria y reduce el riesgo de fugas de memoria.
Implementa un juego donde el usuario debe adivinar un número entre 1 y 10.
Descripción: Soporta clases y objetos, facilitando la creación de programas modulares y reutilizables. Ventaja: Mejora la organización del código y promueve la reutilización.
Descripción: Amplia comunidad de desarrolladores y abundantes recursos educativos (tutoriales, documentación, foros). Ventaja: Facilita la resolución de problemas y el aprendizaje continuo.
Spark
- Procesamiento de grandes volúmenes de datos.
- Integración con Hadoop para Big Data.
Descripción: Gran ecosistema de librerías y frameworks (como NumPy, pandas, TensorFlow, Flask). Ventaja: Amplía las capacidades de Python y acelera el desarrollo de aplicaciones avanzadas.
Python
- Versatilidad y facilidad de uso.
- Amplia biblioteca de herramientas para Data Science (Pandas, NumPy, SciPy).
Escribe un programa que imprima los primeros N números de la serie de Fibonacci.
- Fuerte en análisis estadístico.
- Especializado en visualización de datos.
Escribe un programa que verifique si un número es primo.
Descripción: Incluye una amplia gama de módulos y paquetes que facilitan tareas comunes (como manipulación de archivos, operaciones matemáticas, y más). Ventaja: Reducción de la necesidad de escribir código desde cero.
Descripción: Python es compatible con múltiples plataformas (Windows, macOS, Linux). Ventaja: Código Python puede ser ejecutado en diferentes entornos sin modificaciones significativas.
Descripción: Python no requiere compilación previa. El código se ejecuta línea por línea en tiempo de ejecución. Ventaja: Facilita la depuración y el desarrollo interactivo.
Descripción: Soporta múltiples estilos de programación: imperativo, orientado a objetos y funcional. Ventaja: Flexibilidad para adaptar el código al problema específico.
- Comunidad activa y en crecimiento.
- Fácil de aprender para principiantes.
- Compatible con otras herramientas y lenguajes.
- Uso en producción y prototipado.
- Sintaxis clara y fácil de leer.
- Soporte para múltiples paradigmas
- (orientado a objetos, funcional, imperativo).
- Amplia biblioteca estándar.
- Comunidad grande y activa.
Si no está claro, sigue el camino más obvio. No hagas suposiciones.
En caso de duda, debe haber un solo aspecto obvio (In the face of ambiguity, refuse the temptation to guess)
Los errores deben ser tratados y no ignorados. Ayuda a mantener el código robusto.
Errores nunca deben pasar silenciosamente (Errors should never pass silently)
Si es posible hacer algo ahora, no lo pospongas. Mantén el progreso constante.
Ahora es mejor que nunca (Now is better than never)
Promueve un único enfoque para resolver problemas, facilitando la colaboración.
Debe haber una y preferiblemente solo una manera obvia de hacerlo (There should be one—and preferably only one—obvious way to do it)
Evita apresurarte. A veces, es mejor tomarse el tiempo para hacerlo correctamente.
Aunque nunca es mejor que justo a tiempo (Although never is often better than right now)
La solución debe ser fácil de explicar. Las ideas complicadas pueden ser problemáticas.
Si la implementación es difícil de explicar, es una mala idea (If the implementation is hard to explain, it’s a bad idea)
Usa nombres espaciales para organizar el código y evitar conflictos.
Los nombres espaciales deben estar bien definidos (Namespaces are one honking great idea—let’s do more of those!)
El código debe ser legible y claro. Se prefiere el estilo que facilita la comprensión.
Bello es mejor que feo (Beautiful is better than ugly)
La solución más simple es generalmente la mejor. Reduce la complejidad siempre que sea posible.
Simple es mejor que complejo (Simple is better than complex)
Las intenciones del código deben ser claras. Evita las ambigüedades y hace el código autoexplicativo.
Explícito es mejor que implícito (Explicit is better than implicit)
Si la solución debe ser compleja, que sea de manera organizada y bien estructurada.
Complejo es mejor que complicado (Complex is better than complicated)
La legibilidad es esencial. El código debe ser fácil de leer y entender por otros.
Planificable es mejor que aventurero (Readability counts)
Los casos especiales no deben hacer excepciones a las reglas establecidas. La consistencia es clave.
Los espacios en blanco son importantes (Special cases aren’t special enough to break the rules)
La solución práctica y funcional es preferible a una perfección teórica inalcanzable.
