¿Cómo aprender a programar en Phyton?
Daniel Jiménez, ha desarrollado este nuevo tutorial de Introducción a Phyton, ya que actualmente es uno de los lenguajes más demandados.
Dani, está lleva pocos años como programador a la par que comparte los conocimientos adquiridos. No es por tanto un programador experto, pero a su favor tiene grandes dotes para la comunicación, es joven y le resulta sencillo ponerse en el lugar del aprendiz neófito.
Para no limitar esta guía a conocimientos básicos, se han incorporado a una recopilación existente de MOOC y manuales gratuitos a modo de materiales complementarios de las unas unidades teóricas básicas desarrolladas por nosotros.
Esperando que que te sirvan de apoyo en el estudio de los otros cursos compartidos sobre programación en Phyton.
Python es un lenguaje de programación de propósito general, de alto nivel, interpretado, de código abierto y multiplataforma.
Por ello, es uno de los lenguajes de programación de más rápido crecimiento en el mundo, y es utilizado por millones de personas en todo el mundo.
👉 Hay varias razones por las que Python es tan popular!
- En primer lugar, es muy fácil de aprender. La sintaxis de Python es muy clara y concisa, lo que lo hace muy fácil de leer y escribir.
- En segundo lugar, Python es muy poderoso. Puede ser utilizado para una amplia gama de tareas, incluyendo desarrollo web, ciencia de datos, aprendizaje automático, y más.
- Y en tercer lugar, Python tiene una gran comunidad de usuarios y desarrolladores. Hay muchos recursos disponibles para aprender Python, libros, cursos, moocs, manuales, tutoriales, … y siempre hay alguien dispuesto a ayudar con preguntas o problemas.
Como resultado de estas ventajas, Python es una excelente opción para cualquiera que quiera aprender a programar.
Es un lenguaje poderoso, fácil de aprender, y como decimos tiene una gran comunidad de usuarios y desarrolladores. Si estás interesado en aprender a programar, sin duda Python es una excelente opción.
Por si fuera poco, Python es un lenguaje de programación libre y de código abierto. Esto significa que cualquiera puede utilizarlo y contribuir a su desarrollo.
Introducción a Python, primeros pasos …
Si quieres aprender a programar en Python, rápido y gratis, aquí encontrarás algunos consejos prácticos que te podrán ayudar. Este es el plan que he seguido y estoy siguiendo yo:
- Primero, leer sobre lógica de programación, y sobre Phyton. Practicar codificando proyectos sencillos. Yo por ejemplo, comencé copiando los ejemplos que venía en los libros y luego realizando pequeñas variantes para practicar con los resultados obtenidos. Precisamente, esto nos lleva al siguiente punto …
- Trastea, si la teoría está bien para empezar pero programar es una habilidad práctica … Todos los programadores que he leído coinciden es este aspecto. No se necesita cursar cursos caros, todos los contenidos están disponibles hoy en día de manera gratuita.
- Si que es cierto que disponer de un profesor, tutor o mentor acelera la cuestión del aprendizaje. A la par que podemos crecer en base a sus experiencias y consejos.
- Participa en comunidades en línea para obtener consejos y discutir problemas con otros programadores.
- Aprende sobre frameworks y bibliotecas, y participa en proyectos de código abierto para mejorar tus habilidades. Ahora estoy en este punto con Django … programar es una actividad que hay que llevar de continuo, siempre hay algo nuevo que aprender o mejorar.
Presentación del tutorial: Introducción a Python
He diseñado este tutorial para avanzar progresivamente desde los temas básicos hasta avanzados. Incluiremos referencias a textos básicos para empezar desde cero.
Paulatinamente iremos introduciéndonos en la materia de estudio para ayudarnos a abordar aspectos más avanzados a través de referencias externas: Webs, foros, videotutoriales o ebooks !
Este tutorial está dividido en capítulos (Índice), a los que que se puede acceder de manera directa (si ya se dominan los aspectos básicos).
Introducción al entorno de programación Phyton
Python es un lenguaje de propósito general, orientado a objetos (POO) e interpretado, muy bien estructurado lo que hace que resulte muy entendible).
Se trata de un lenguaje secundario interpretado por «C» (en el enlace python.org.ar de Aprendiendo Python puedes ampliar esta información).
Recurso recomendado:
📙 Manual oficial de Phyton
Aunque Phyton es un lenguaje de propósito general, actualmente es muy apreciado por los programadores de ciencia de datos, análisis Big Data pues ofrece una manera muy fluida de programar rutinas y análisis.
Índice de contenidos: tutorial Phyton
1. Introducción a Phyton. Lógica de programación.
1.2 Condicionales (Conditionals)
1.3 Bucles o Loops
1.5 Librerías de programación (Libraries)
1.6 Expresiones regulares (Regular Expressions)
1.7 Programación Orientada a Objetos (Object-Oriented Programming)
1.8 Unit Tests
1.9 File I/O
MOOCs y otros recursos para aprender Python gratis.
El primer recurso por donde yo comencé y me fue muy bien, es la web oficial de tu comunidad Phyton. En mi caso en España es esta https://es.python.org/aprende-python/
Allí encontrarás guías para aprender a programar con Python tanto si ya tienes conocimientos previos en programación como si no. Además de numerosas referencia a foros y grupos de la comunidad de programadores. Por ejemplo:
Por otro lado, los cursos MOOCs son gratuitos, masivos y con la calidad docente avalada por prestigiosas universidades.
Luego tienes maravillosas series de videos en Youtube para aprender a programar.
Sin duda recursos formativos que merecen la pena mirar por su calidad …
📚 Programación para Todos (introducción a Python en inglés). Creado por University of Michigan en coursera.org. Este curso tiene como objetivo enseñar a todos los conceptos básicos de la programación de ordenadores utilizando Python.
- Instalar Python y escribir su primer programa.
- Conceptos básicos del lenguaje de programación Python.
- Utilice variables para almacenar, recuperar y calcular información.
- Utilice herramientas de programación básicas como funciones y bucles.
Cubrimos los fundamentos de cómo uno construye un programa de una serie de instrucciones simples en Python. El curso no tiene pre-requisitos y evita todas las matemáticas más simples.
Cualquier persona con experiencia informática moderada debe ser capaz de dominar los materiales en este curso. Este curso cubrirá los Capítulos 1-5 del libro de texto «Python for Informatics».
Este curso es equivalente a la primera mitad del curso de 11 semanas «Programación para todos» (Python). Una vez que un estudiante complete este curso, estarán listos para tomar cursos de programación más avanzados.
📚 Introducción a la programación en Python en upc.edu. «El curso está pensado para aprender a programar sin ningún conocimiento previo.
Comenzarás trabajando los conceptos más básicos de la programación y, progresivamente, irás ampliando el abanico de instrucciones utilizadas para tratar datos más complejos y resolver problemas de más envergadura.
Al final del curso serás capaz de desarrollar aplicaciones en Python para realizar cálculos, procesar datos, manipular información de ficheros y resolver problemas de dificultad media.
Con esta base, estarás preparado para extender tu formación hacia temas más avanzados como la programación orientada a objetos, interfaces gráficas, aplicaciones web o incluso otros lenguajes de programación.
Resumen del índice de contenidos: 1. Introducción, IDLE, expresiones, asignación. 2. Funciones. 3. Condicionales. 4. Strings. 5. Listas. 6. Diccionarios. 7. Ficheros. 8. Iteraciones con while.»
📚 Introduction to Computer Science and Programming Using Python en edx.org.
«Este curso es el primero de una secuencia de dos cursos: Introducción a la informática y la programación con Python.
Introducción al pensamiento computacional y la ciencia de los datos. Juntos, están diseñados para ayudar a las personas sin ninguna exposición previa a la informática y a la programación.
Ayuda a aprender a pensar computacionalmente y a escribir programas para abordar problemas útiles.
Algunas de las personas que toman los dos cursos los usarán como un trampolín para los cursos avanzados de informática, pero para muchos será su primer y último curso de informática.
Esta versión cuenta con vídeos de conferencias actualizados, ejercicios de conferencias y conjuntos de problemas para usar la nueva versión de Python 3.5.
Incluso si usted tomó el curso con Python 2.7, podrá pasar fácilmente a Python 3.5 en cursos futuros, o inscríbase ahora para actualizar su aprendizaje.
Resumen del índice de contenidos: Una noción de cálculo. El lenguaje de programación Python. Algunos algoritmos simples. Pruebas y depuración. Una introducción informal a la complejidad algorítmica. Estructuras de datos.»
Curso programación desde cero con Python gratis CS50 en EDX. Con certificado opcional.
📚 CISCO NETWORKING ACADEMY: Curso de programación con PHYTON en netacad.com.
MOOC: Programación en Python: visualización de datos de Universitat Politècnica de València.
📌 Recuerda: Aunque el curso no esté activo para la obtención del diploma si que suele dejarse abierto para consultar los materiales.
Más recursos para aprender Python:
- Learn to Program Using Python. Hands on introduction to the Python programming language en edx.org.
-
- «Parafraseando la filosofía de la Free Software Foundation, este libro es libre como la libre expresión, pero no necesariamente gratis como la pizza gratis.
-
- Se hizo realidad a causa de una colaboración que no habría sido posible sin la GNU Free Documentation License».
-
- Es una increíble recopilación de capítulos para aprender a programar en Python.
-
- Los capítulos están PDF en inglés pero muchos ya han sido traducidos. Incluye apuntes, ejemplos y vídeos …
A lo largo de este tutorial, haremos referencia a decenas de sites como Codecademy, CoderDojo, Udacity, etc. donde podrás ampliar el tema tratado en cuestión.
Videotutoriales de Python:
La ventaja de los videotutoriales de Youtube es que permiten subtítulos traducidos.
- Canal con una excelente recopilación de videotutoriales para aprender a programar Python en Youtube de technicdynamic.
- Tutorial Python 1: Introducción al Lenguaje de Programación por codigofacilito.
- Curso Maestro de Python 3: Aprende Desde Cero (20 horas) por EscuelaDeVideojuegos.
- Canal Python España. Para estar al día de características y novedades.
1. Introducción: programación Orientada a Objetos (POO) en Python:
1.1 ¿Qué es la POO en Python?
La Programación Orientada a Objetos (POO) en Python es un paradigma que organiza el código en torno a objetos. Un objeto es una entidad que agrupa datos (atributos) y comportamientos (métodos) relacionados.
Beneficios de la POO:
- Modularidad: Divide el código en unidades reutilizables.
- Mantenimiento: Facilita la detección y corrección de errores.
- Extensibilidad: Permite agregar nuevas funcionalidades fácilmente.
- Reutilización: Ahorra tiempo y esfuerzo al reutilizar código.
- Objetos, clases e instancias/objetos
- Clase: Es un modelo que define la estructura y el comportamiento de un objeto.
- Instancia/Objeto: Es una copia específica de una clase con sus propios datos y comportamiento.
Ejemplo: Python
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f»Hola, me llamo {self.nombre} y tengo {self.edad} años.»)
# Crear una instancia de la clase Persona
persona1 = Persona(«Antonio», 21)
# Acceder a los atributos de la instancia
print(persona1.nombre) # Salida: «Antonio»
# Llamar a un método de la instancia
persona1.saludar() # Salida: «Hola, mi nombre es Juan y tengo 21 años.»
1.2 Constructores y destructores
- Constructor: Es un método especial que se ejecuta automáticamente al crear una instancia de una clase. Se utiliza para inicializar los atributos del objeto.
- Destructor: Es un método especial que se ejecuta automáticamente al eliminar una instancia de una clase. Se utiliza para liberar recursos.
Ejemplo: Python
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def __del__(self):
print(f»Se ha eliminado el objeto {self.nombre}»)
persona1 = Persona(«Juan», 25)
# Eliminar la instancia
del persona1
# Salida: «Se ha eliminado el objeto Juan»
UML (Unified Modeling Language) es un lenguaje gráfico para modelar sistemas orientados a objetos. Permite visualizar y documentar la estructura y el comportamiento de un sistema.
Los principales diagramas de UML son:
- Casos de uso: Describen la interacción entre los usuarios y el sistema.
- Clases: Representan las clases del sistema y sus relaciones.
- Sec secuencia: Muestran la secuencia de interacciones entre objetos.
- Actividad: Representan el flujo de trabajo del sistema.
Ejemplo de diagrama de clases:
Persona
– nombre: String
– edad: Integer
+ saludar(): void
- Herencia, encapsulación y polimorfismo
- Herencia: Permite a una clase heredar las propiedades y métodos de otra clase.
- Encapsulación: Oculta los detalles de implementación de un objeto.
- Polimorfismo: Permite que diferentes objetos respondan al mismo mensaje de diferentes maneras.
Ejemplo: Python
class Animal:
def __init__(self, nombre):
self.nombre = nombre
def hablar(self):
raise NotImplementedError
class Perro(Animal):
def hablar(self):
print(«Guau Guau «)
class Gato(Animal):
def hablar(self):
print(«Miaaau»)
perro1 = Perro(«Menta»)
gato1 = Gato(«Ron»)
perro1.hablar() # Salida: «GuauGuau»
gato1.hablar() # Salida: «Miaaau»
1.4 Poner en práctica: construir un programa de POO con Python
Ejemplo: Crear un programa que gestione una lista de productos.
class Producto:
def __init__(self, nombre, coste):
self.nombre = nombre
self.precio = coste
def __str__(self):
return f»{self.nombre} – Coste: {self.coste}»
class ListaProductos:
def __init__(self):
self.productos = []
def agregar_producto(self, producto):
self.productos.append(producto)
def mostrar
Libros sobre Python
Los libros pueden ser una excelente herramienta para aprender a programar. Ofrecen una explicación detallada de los conceptos básicos, así como una explicación clara y concisa de los temas.
Además, serán siempre una excelente referencia a la cual acudir, por lo que son una forma ideal de aprender sin la necesidad de cursos o profesores.
Al mismo tiempo, los libros ofrecen una referencia permanente para que puedas volver a consultarlos cuando sea necesario. Así que si estás dispuesto a dedicar el tiempo necesario para leer el libro, puedes aprender a programar sin un profesor.
Learning Python de Mark Lutz. «Explore los principales tipos de objetos incorporados de Python, como números, listas y diccionarios. Cree y procese objetos con instrucciones Python y aprenda el modelo de sintaxis general de Python.
Utilice funciones para evitar redundancia de código y código de paquete para su reutilización. Organizar declaraciones, funciones y otras herramientas en componentes más grandes con módulos. Sumérgete en las clases: Herramienta de programación orientada a objetos de Python para estructurar código.
Escriba programas grandes con el modelo de manejo de excepciones de Python y las herramientas de desarrollo. Aprenda herramientas avanzadas de Python, incluyendo decoradores, descriptores, metaclases y procesamiento Unicode.»
Python for Informatics: Exploring Information: Exploring Information (English Edition) de Charles Severance. Tienda Kindle.
«Este libro está diseñado para introducir a los estudiantes a la programación y el pensamiento computacional a través de la lente de la exploración de datos.
Usted puede pensar en Python como su herramienta para resolver problemas que están más allá de la capacidad de una hoja de cálculo.
Es un lenguaje de programación fácil de usar y fácil de aprender que está disponible gratuitamente en ordenadores Windows, Macintosh y Linux.
Hay copias descargables gratuitas de este libro en varios formatos electrónicos y un curso en línea libre y en línea donde puedes explorar los materiales del curso.
Todos los materiales de apoyo para el libro están disponibles bajo licencias abiertas y remixables. Este libro está diseñado para enseñar a las personas a programar, incluso si no tienen experiencia previa.»
Aprenda a programar con Python (Títulos Especiales) de Zed A. Shaw.
«Python es uno de los lenguajes de programación de más rápido crecimiento en el mundo, ya que permite trabajar de forma rápida e integrar los sistemas de manera muy eficaz.
Su filosofía es poner énfasis en una sintaxis que favorezca al código legible. Este es el curso intensivo de Zed Shaw, para muchos el mejor sistema del mundo para aprender a programar.
¡Sígalo y tendrá éxito, al igual que los cientos de miles de usuarios que han aprendido con él! Ponga usted la disciplina, el compromiso y la persistencia; el autor garantiza todo lo demás.
Aprenda a programar con Python contiene 52 ejercicios perfectamente diseñados. Léalos. Solucione los errores. Observe cómo se ejecutan los programas; ya verá cómo comprende su funcionamiento.
Domine cómo leer, escribir y pensar en código, y cómo encontrar y corregir los errores utilizando trucos reservados a los programadores profesionales.»
Automate the Boring Stuff with Python: Practical Programming for Total Beginners de Al Sweigart. »
Si alguna vez has pasado horas cambiando el nombre de archivos o actualizando cientos de celdas de hojas de cálculo, sabes cuán tediosas tareas como estas pueden ser. ¿Pero qué si usted podría tener su computadora los hace para usted?
Con este libro aprenderás cómo usar Python para escribir programas que hacen en minutos lo que te llevaría horas a hacer a mano, sin experiencia previa en programación.
Una vez que haya dominado los conceptos básicos de la programación, creará programas Python que realizan sin esfuerzo realizaciones útiles e impresionantes de automatización para:
Buscar texto en un archivo oa través de varios archivos. Crear, actualizar, mover y cambiar el nombre de archivos y carpetas, Buscar en la Web y descargar contenido en línea.
Actualización y formato de datos en hojas de cálculo Excel de cualquier tamaño. Dividir, combinar, filigrana y cifrar archivos PDF. Enviar correos electrónicos de recordatorio y notificaciones de texto. Rellene los formularios en línea.»
Programming Python de Mark Lutz. Resumen del índice de contenidos:
- «Quick Python tour: Construya una demostración simple que incluya representación de datos, programación orientada a objetos, persistencia de objetos, GUI y aspectos básicos del sitio web.
- System programming: Explore herramientas y técnicas de interfaz de sistema para scripts de línea de comandos, procesamiento de archivos y carpetas, ejecución de programas en paralelo y más.
- GUI programming: Aprenda a usar la biblioteca de tkinter de Python.
- Internet programming: Acceda a protocolos de red y herramientas de correo electrónico del lado del cliente, use secuencias de comandos CGI y aprenda técnicas de implementación de sitios web.
- More ways to apply Python: Implementar estructuras de datos, analizar información basada en texto, interactuar con bases de datos, y extender e incrustar Python.»
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython de Wes McKinney. Resumen del índice de contenidos: »
- Utilice el shell interactivo IPython como entorno de desarrollo principal.
- Aprenda funciones básicas y avanzadas de NumPy (Python numérico).
- Comience con las herramientas de análisis de datos en la biblioteca de pandas.
- Utilice herramientas de alto rendimiento para cargar, limpiar, transformar, combinar y remodelar datos.
- Crear diagramas de dispersión y visualizaciones estáticas o interactivas con matplotlib.
- Aplicar la facilidad groupby pandas para rebanar, dados, y resumir los conjuntos de datos.
- Medir datos por puntos en el tiempo, ya se trate de instancias específicas, períodos fijos o intervalos.
- Aprenda a resolver problemas en analítica web, ciencias sociales, finanzas y economía, a través de ejemplos detallados.»
Python (Anaya Multimedia/Wrox) de Jim Knowlton.
«Dirigido a desarrolladores Python de todos los niveles, interesados en una metodología de aprendizaje basada en tareas, este práctico libro enseña a utilizar eficazmente Python para crear aplicaciones robustas.
Después de una breve introducción a este lenguaje de programación interactivo orientado a objetos, el libro se centra en la práctica del desarrollo de scripts útiles y dinámicos, fáciles de mantener y de mejorar, y listas para utilizar en nuestros propios proyectos.
Con esta obra aprenderá, entre otros muchos aspectos, las diversas tecnologías y técnicas al alcance de los desarrolladores Python, las diferentes maneras de comunicarse con una base de datos SQL.
Numerosos trucos para actuar como servidor Web o para comunicarse con uno, cómo acceder y manipular archivos XML, técnicas para crear un sistema de administración de contenidos o formas de acceder y comunicar con el sistema operativo.»
Python: Learn Python in One Day and Learn It Well. Python for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 1) (English Edition) de LCF Publishing. Tienda Kindle.
«Lo que aprenderás: ¿Qué es Python? ¿Qué software necesita para codificar y ejecutar los programas de Python? ¿Qué son las variables? ¿Qué operadores matemáticos hay en Python?
¿Cuáles son los tipos de datos comunes en Python? ¿Qué son las Listas y las Tuplas? Cómo formatear cadenas. Cómo aceptar entradas de usuario y salidas de pantalla. Cómo tomar decisiones con declaraciones If.
Cómo controlar el flujo del programa con bucles. Cómo manejar errores y excepciones. ¿Qué son funciones y módulos? Cómo definir sus propias funciones y módulos – Cómo trabajar con archivos externos .. y más …«
Python: Programming Bootcamp The Crash Course for Understanding the Basics of Python Computer Language (Python Crash Course, Python For Kids, Python Programming For Beginners) (English Edition) de David Maxwell. Tienda Kindle.
«¿Quiere dominar los conceptos básicos de la programación Python en un período corto? Python puede ser un proceso extremadamente fácil y directo:
- Conceptos básicos de Python para principiantes Este libro tomará el proceso de programación y lo dividirá en sencillos y sencillos pasos que cualquiera puede seguir.
- Los diferentes tipos de datos Este libro presentará todos los datos importantes que necesita conocer y lo guiará a través de cómo usarlos.
- Errores comunes Este libro le mostrará los errores más comunes que experimentará y cómo solucionarlos y evitarlos todos juntos.
Lo que aprenderá:
- Conceptos básicos de Python.
- Modo normal vs modo interactivo.
- Cómo crear programas.
- Qué son las variables y las cadenas.
- Cómo usar las variables y las cadenas.
- Los conceptos fundamentales.
- Secuencias de Python. Qué son las listas y las tuplas.
- Los diferentes tipos de datos.
- Objetos mutables e inmutables.
- Los más comunes errores y cómo manejarlos.
A modo de curso introductorio de Python se le presentará en pasos sencillos y fáciles de entender. Para cualquiera que esté comenzando, esta es su mejor opción para aprender Python en un período de tiempo rápido.»
Python Pocket Reference (Pocket Reference O’Reilly) de Mark Lutz. «Funciones y módulos para estructurar y reutilizar código. Herramientas de programación orientada a objetos de Python. Funciones, excepciones y atributos incorporados.
Métodos especiales de sobrecarga de operadores. Módulos y extensiones de bibliotecas estándar ampliamente utilizados.
Opciones de línea de comandos y herramientas de desarrollo. Lenguajes y sugerencias de la API de Python para bases de datos SQL.»
📄 Notas: Python Software Foundation python.org/psf/ lo ofrece con licencia de código abierto.
En el pie encontrarás más enlaces para aprender a programar. Gracias por leernos, agradecemos tus comentarios !