Skip to content

ejdecena/Tutorial-Python

Repository files navigation

Tutorial Python.

Tutorial Python es una guía de referencias para la instalación e introducción rápida al lenguaje Python.

Desarrolladores.

Índice.

1. Python y el Cálculo Científico.
2. Instalación.
3. Modos de uso.
4. Características fundamentales.
5. Libros de aprendizaje.
    5.1 Python Crash Course.
    5.2 Learning Python.
    5.3 Fluent Python.
    5.4 Learn Python: the hard way.
    5.5 Python Cookbook.
    5.6 Python para todos. (En documentos/)
    5.7 Python in practice. (En documentos/)
6. Trucos y consejos.
    6.1 Instalador de Paquetes Pip.
    6.2 Creando un entorno virtual Python.
    6.3 Estructura de un script en Python.
    6.4 Guía de estilo PEP8.
    6.5 El Zen de Python.
7. Códigos Python.
    7.1 Hola Mundo Python!

1. Python y el Cálculo Científico.

Históricamente la ciencia se ha dividido en disciplinas experimentales y disciplinas teóricas (empirismo y racionalismo). Consecuentemente, un gran número de estudios en filosofía de la ciencia (epistemología) se han dedicado al estudio de la interelación de estos dos modos de hacer ciencia. Durante las últimas décadas la computación ha emergido como un componente importante del quehacer científico, y al hacerlo ha desestabilizado esta visión binaria de la ciencia. Dicho de forma simple, es posible ahora usar las computadoras para resolver problemas científicos de forma más rápida y menos engorrosa; pero sobre todo, resolver problemas que antes no podían ser resueltos analíticamente.

Para la solución de estos problemas científicos, dentro del software libre ha surgido en los últimos años el lenguaje de programación Python, que últimamente ha tenido una mejora sustancial con la inclusión de potentes y versátiles librerías de cálculo simbólico (SymPy), de cálculo numérico (NumPy y SciPy) y visualización gráfica (PyPlot y Matplotlib). Python ha tenido una vertiginosa evolución y expansión a nivel mundial, no sólo en el ámbito académico, sino también en el ámbito científico e industrial.

[IR AL ÍNDICE]

2. Instalación.

Según el sistema operativo, Python puede ser instalado de 3 maneras:

  • Windows: puede ser descargado directamente desde la página principal de Python.
  • Mac OS X: Aunque la mayoría de las versiones de MacOsX vienen con Python pre instalado, puede que en algunos casos deba instalarse desde la página principal de Python.
  • Linux: Todas las versiones de Linux vienen instaladas con Python. podrás ver la versión que tienes instalada abriendo la terminal y escribiendo python.

[IR AL ÍNDICE]

3. Modos de uso.

En Python, se suele usar el código de 3 modos relacionados:

  • Interactivo: Esto es común en tareas exploratorias, cuando aún no tenemos del todo definido el problema. Por ejemplo, tenemos un conjunto de datos en uno o más archivos y necesitamos saber qué información contienen, quizás hacer algún gráfico o buscar palabras claves. Los modos interactivos de Python pueden habilitarse al usarlo directamente en la terminal a través del intérprete del lenguaje, mediante Jupyter Notebooks, compiladores online, etc.

  • Scripts: Los scripts (del inglés "guión") se refieren a pequeños programas que se usan para tareas sencillas, generalmente cuando queremos automatizar tareas como hacer una copia de respaldo (backup) semanal, o descargar alguna información de una página web cada vez que esta actualice cierta información. A veces también estos scripts se usan como "pegamento" para concatenar programas, generalmente cuando estos programas son complejos o no tenemos acceso al código fuente (o no entendemos el código fuente).

  • Paquetes o librerías: Esto es más o menos lo que uno tiene en mente cuando piensa en un programa, como una hoja de cálculo, o una aplicación para el celular. Es decir, son varios bloques de códigos organizados para realizar diversas tareas. En general, un usuario de Python NO escribe librerías, sino que hace uso de ellas. Escribir librerías requiere de ciertos principios de ingeniería del software; de lo contrario el código tendrá altas probabilidades de ser ineficiente, difícil de mantener y propenso a errores.

[IR AL ÍNDICE]

4. Características fundamentales.

El lenguaje Python es:

  • Un lenguaje de programación orientado a objetos.
  • De propósito general, es suficientemente bueno para casi todo.
  • Multiparadigma, es posible programar usando distintos estilos de programación o incluso combinándolos.
  • De alto nivel, es decir cercano al lenguaje humano y lejos del lenguaje máquina.
  • Interpretado, es decir no es necesario compilarlo antes de correr un script Python.
  • Multiplataforma, corre en diversos sistemas operativos.
  • Un lenguaje simple, el código es simple de leer, de escribir y de mantener.
  • Gratuito y es una herramienta de código abierto.
  • Está muy bien documentado.
  • Es ampliamente usado en la mayoría de las disciplinas científicas.
  • Tiene una gran comunidad de usuarios (no todos científicos), por lo que es fácil encontrar ayuda, tutoriales, foros, blogs, etc.
  • Buena performance. Aunque estrictamente es un lenguaje lento (el costo de la simplicidad). Existen formas de acelerarlo.
  • Posee un extenso ecosistema de librerías:

[IR AL ÍNDICE]

5. Libros de aprendizaje.

Python es un lenguaje con una curva de aprendizaje interesante. Muchos autores han decidido volcar sus conocimientos para apoyar a los aprendices en la construcción de programas y conocimiento estructurado. Hay libros especializados en temas puntuales o en tópicos importantes; como por ejemplo el desarrollo web o el análisis de datos.

La correcta elección de un libro implica muchos factores, pero es bastante útil de primera mano buscar referencias que nos puedan dar un panorama más claro del autor o título, para así tener la seguridad antes de leer un libro sobre Python.

Aquí presentamos los principales libros sobre el lenguaje, los más destacados a elección de los profesionales del sector.

5.1 Python Crash Course.

Python Crash Course es un curso sorprendente, orientado a personas que quieren aprender a programar por cuenta propia. Es una introducción amena a la programación y particularmente, como es lógico, al lenguaje Python. A través del libro se tienen distintos desafíos entre los cuales destaca el escribir programas, resolver problemas y consolidar los conceptos básicos previos a código de mayor nivel.

El libro enseña conceptos bastante populares en la actualidad, como el uso de librerías, la respuesta a eventos de mouse y teclado, visualización de datos e incluso creación de juegos en 2D.

5.2 Learning Python.

Learning Python es uno de los libros más populares, dado que es el resumen del curso de entrenamiento en Python de su autor, Mark Lutz. Es un libro que mejora constantemente, presentando una quinta edición bastante robusta que introduce conceptos y buenas prácticas.

Tiene muchas bondades, entre ellas desafíos que permiten escribir código de forma rápida, eficiente y de alta calidad. Está indicado para personas con pocos conocimientos, aunque obviamente es útil también para programadores con mayor experiencia.

De primera mano permite explorar los tipos de objeto por defecto que vienen con el lenguaje, como la sintaxis elemental. Una de sus principales características es que todos los conocimientos están orientados en la programación orientada a objetos.

5.3 Fluent Python.

Fluent Python es un libro distinto, está diseñado para volverse productivo en el desarrollo con Python de forma rápida, dado que es un libro “hands-on” que básicamente prioriza las actividades a la teoría.

Este libro se concentra en aspectos importantes como modelos y estructuras de datos, funciones y flujos de control. Además tiene una sección muy interesante relacionada a la metaprogramación, un concepto más avanzado pero inherente a grandes proyectos.

5.4 Learn Python: the hard way.

Learn Python: the hard way es un libro que por el título puede pensarse está orientado a programadores experimentados o que buscan un desafío en su aprendizaje. Sin embargo, es un libro eminentemente para principiantes, de una elevada calidad. El término “Hard way” se refiere al deseo del autor de afianzar algunos conceptos como base para avanzar en el libro.

El libro tiene niveles iniciales con temas elementales (como el primer Hola mundo o la construcción de variables) pero poco a poco ahonda y permite tener una visión sólida del lenguaje Python de cara a la programación orientada a objetos.

5.5 Python Cookbook.

Python Cookbook es uno de los libros más amenos para el aprendizaje de Python. Se puede encontrar las indicaciones para el desarrollo de programas a manera de recetas. Hay una serie de temas interesantes para desarrolladores experimentados y novatos que se pueden explorar. Entre ellos están los algoritmos y estructuras de datos, las cadenas de texto y números, los tipos de operadores, las clases y objetos, la programación web y los principales errores en el desarrollo de un programa.

5.6 Python para todos. (En documentos/)

Python para todos se trata de un libro gratuito, que empieza tratando sobre conceptos básicos pero ahonda hasta el uso de bases de datos. Está distribuido bajo una licencia de Creative Commons y se puede realizar su descarga en formato PDF directamente desde su misma página web.

5.7 Python in practice. (En documentos/)

Python in practice está dirigido a programadores de Python profesionales que deseen ampliar y profundizar sus conocimientos para mejorar la calidad, fiabilidad, velocidad, mantenimiento y usabilidad de sus programas en Python. El libro presenta numerosos ejemplos prácticos e ideas para mejorar la programación con Python. El libro tiene cuatro temas clave: patrones de diseño para codificar con elegancia, velocidades de procesamiento mejoradas usando concurrencia y Python compilado (Cython), redes de alto nivel y gráficos.

Estos fueron apenas algunos títulos del gran universo bibliográfico que gira en torno a Python. Como hemos podido ver, la mayoría de ellos están escritos en inglés, pero inclusive si no tienes el idioma a la perfección muchos de los conceptos son entendibles.

Siéntete en la libertad de usar libros para aprender Python cuando desees, porque si bien es cierto que para programar se necesita escribir código a diario, un libro puede ser el aliado perfecto al momento de diagnosticar un error o resolver un bug.

[IR AL ÍNDICE]