traductor

sábado, 23 de marzo de 2024

El Libro De Python

 

Bienvenid@ a El Libro De Python

Te damos la bienvenida a El Libro De Python, un espacio en el que podrás aprender y consultar dudas acerca del lenguaje de programación Python. Nuestro libro es totalmente gratis y abierto, por lo que te invitamos a colaborar con nosotros a través de GitHub.

¿Cómo leer el libro?

Nuestro libro explica todos los conceptos desde prácticamente cero, por lo que podría ser leído fácilmente por cualquier persona sin necesidad de saber programar. No obstante tener unas nociones básicas de programación ayudarán sin duda a seguir mejor el libro.

Cada capítulo va acompañado del siguiente emoji, lo que indica su dificultad. Si ya tienes algo de experiencia previa con Python, tal vez te puedas saltar los capítulos verdes. Una vez hayas leído todos los capítulos de un nivel, deberías poder pasar a leer los siguientes sin problema.

  • 📗 Nivel básico
  • 📙 Nivel intermedio
  • 📕 Nivel avanzado

Nótese que bajo ninguna circunstancia este libro es un sustituto de la documentación oficial de Python, sino que la complementa. Dado que la documentación oficial y la gran mayoría de libros puramente técnicos son difíciles de leer, nuestro objetivo es la didáctica y la sencillez. Nuestros ejemplos van al grano y resuelven problemas reales, primando la didáctica frente a la eficiencia, aunque promoviendo las buenas prácticas del lenguaje en la medida de lo posible.

https://ellibrodepython.com/

¿Cómo apoyar el proyecto?

Queremos que nuestro libro sea totalmente gratis y accesible online para todo el mundo, pero si te gusta el contenido, aceptamos donaciones en diferentes formas. Estas nos ayudan a mantener la web sin publicidad, pagar a los autores e ilustradores además de pagar las cuotas de dominio y hosting de la web.¿Cómo colaborar?

A parte de contribuciones monetarias, también aceptamos contribuciones de código y capítulos nuevos. Si has encontrado una errata, un concepto cuya explicación no queda clara, o quieres añadir un nuevo capítulo, estaríamos encantados de escucharte. Siéntete libre de contactarnos a través de las redes sociales o en ellibrodepython@gmail.com

https://ellibrodepython.com/

Introducción a Python

 

¿Qué es Python? Introducción

Si has llegado hasta aquí es posible que quieras aprender Python, o tal vez simplemente tengas curiosidad por saber algo más de este lenguaje de programación tan popular. En este post te intentaremos convencer de porqué debes aprender Python, sin importar en que trabajes o cual sea tu sector.

Aprovechamos de paso a darte la bienvenida a nuestro libro, un lugar donde podrás encontrar tutoriales de Python completamente gratis desde lo más básico a conceptos avanzados, y con diferentes aplicaciones: análisis de datos, automatización de tareas, web scraping, machine learning, data science, desarrollo de videojuegos, interfaces gráficos o finanzas.

Dicho esto, empecemos. A diferencia de lo que mucha gente puede pensar, Python es un lenguaje que data de los años 1990s, y su creación se le atribuye al neerlandés Guido van Rossum[1]. Recibió su nombre por los humoristas Monty Python.

Su última versión es Python 3, y es la que te recomendamos usar ya que las anteriores ya tienen soporte oficial. En este blog usaremos esta siempre para todo.

De acuerdo con StackOverflow insights[2] en la siguiente gráfica podemos ver el número de preguntas vistas en la plataforma acerca de Pyhton. Podemos ver que Python lleva casi dos años en el podio, una auténtica burrada.

De hecho un estudio realizado hace un tiempo en el 2017[3] ya ponía a Python como uno de los favoritos en los países con mayores ingresos como Alemania, Reino Unido o Estados Unidos entre otros.

Python was the most visited tag on Stack Overflow within high-income nations

Podemos ver por lo tanto que existe una tendencia clara y seguramente el interés en Python vaya a seguir creciendo en los próximos años. Estos son los motivos por lo que ha crecido tanto y lo seguirá haciendo:

  • Se trata de un lenguaje fácil de aprender, con una sintaxis muy sencilla que se asemeja bastante al pseudocódigo. En otras palabras, poco código hace mucho.
  • Su uso no está ligado a un sector concreto. Por ejemplo el lenguaje R es útil para análisis de datos, pero no puede ser usado para desarrollo web. Python vale para todo.
  • Tiene una comunidad enorme, además de gran cantidad de librerías para hacer prácticamente cualquier cosa, literalmente.
  • Es un lenguaje multiplataforma, por lo que el mismo código es compatible en cualquier plataforma (Windows, macOS, Linux) sin hacer nada.
  • Por lo general se puede hacer desarrollos en Python más rápidamente que en otros lenguajes, acortando la duración de los proyectos.

Usos de Python

Como hemos dicho Python es un lenguaje muy transversal, usado en diferentes industrias y para diferentes fines. Veamos algunos de las empresas que usan Python:

  • YouTube usa Python[4] en la parte del servidor, unida a otros lenguajes como Java o Go.
  • Netflix usa Python[5] par automatizar tareas, explorar datos y labores de aprendizaje automático entre otras.
  • La NASA usa Python[6] en gran cantidad de programas científicos.
  • JPMorgan[7] ya dijo hace varios años que se esperaba de sus analistas financieros supieran Python.

Python es también usado para fines muy diversos como son los siguientes:

  • Desarrollo Web: Existen frameworks como Django, Pyramid, Flask o Bottle que permiten desarrollar páginas web a todos los niveles.
  • Ciencia y Educación: Debido a su sintaxis tan sencilla, es una herramienta perfecta para enseñar conceptos de programación a todos los niveles. En lo relativo a ciencia y cálculo numérico, existen gran cantidad de librerías como SciPy o Pandas.
  • Desarrollo de Interfaces Gráficos: Gran cantidad de los programas que utilizamos tienen un interfaz gráfico que facilita su uso. Python también puede ser usado para desarrollar GUIs con librerías como Kivy o pyqt.
  • Desarrollo Software: También es usado como soporte para desarrolladores, como para testing.
  • Machine Learning: En los último años ha crecido el número de implementaciones en Python de librerías de aprendizaje automático como Keras, TensorFlow, PyTorch o sklearn.
  • Visualización de Datos: Existen varias librerías muy usadas para mostrar datos en gráficas, como matplotlib, seaborn o plotly.
  • Finanzas y Trading: Gracias a librerías como QuantLib o qtpylib y a su facilidad de uso, es cada vez más usado en estos sectores.

De hecho a día de hoy prácticamente cualquier API, librería o servicio que existe en el mundo tiene una versión para Python, bien sea de manera nativa o a través de un wrapper.

Comunidad

La comunidad de Python es inmensa, con alrededor de 8.2 millones de personas en el mundo (a fecha de 2019)[8], una cifra que supera ya a los usuarios de Java.

Es importante el tamaño de la comunidad, porque cuanto más grande sea, mayor soporte se le dará al lenguaje y mayor número de personas compartirán sus problemas y se ayudarán a resolverlos.

Otra de las características de la comunidad Python son las famosas PyCon, unas convenciones anuales llevadas a cabo en gran número de países, donde los desarrolladores se reúnen para compartir ideas.

Es también importante mencionar la Python Software Foundation, una organización sin ánimo de lucro que se dedica a promover, proteger y desarrollar el lenguaje Python.

Características de Python

Como cualquier otro lenguaje, Python tiene una serie de características que lo hacen diferente al resto. Las explicamos a continuación:

  • Es un lenguaje interpretado, no compilado.
  • Usa tipado dinámico, lo que significa que una variable puede tomar valores de distinto tipo.
  • Es fuertemente tipado, lo que significa que el tipo no cambia de manera repentina. Para que se produzca un cambio de tipo tiene que hacer una conversión explícita.
  • Es multiplataforma, ya que un código escrito en macOS funciona en Windows o Linux y vice versa.

Tal vez algunos de estos conceptos puedan resultarte extraños si estás empezando en el mundo de la programación. El siguiente código pretende ilustrar algunas de las características de Python.

Algunas cosas curiosidad que en otros lenguajes no pasan. La función acepta un parámetro entrada pero no se especifica su tipo. La x almacena primero una cadena, luego un float y luego un integer. La función funcion() es llamada con un int, pero su valor se divide entre 2 y el resultado es convertido automáticamente en un float.

def funcion(entrada):
    return entrada/2 
    
x = "Hola"
x = 7.0
x = int(x)
x = funcion(x)
print(x)
print(type(x))

# 3.5
# <class 'float'>

The Zen of Python

El Zen de Python es una colección de los 19 principios que influyen en el diseño del lenguaje. De alguna manera, muestran la filosofía del mismo y pueden ser encontrados en la PEP20[9] Las PEP o Python Enhancement Prososals son unos documentos que ofrecen información a la comunidad de Python, bien describiendo alguna característica nueva o dando información en general.

Son las siguientes, y aunque alguna pueda parecer lógica, a veces resultan no serlo tanto cuando no se cumplen:

  1. Bello es mejor que feo.
  2. Explícito es mejor que implícito.
  3. Simple es mejor que complejo.
  4. Complejo es mejor que complicado.
  5. Plano es mejor que anidado.
  6. Espaciado es mejor que denso.
  7. La legibilidad es importante.
  8. Los casos especiales no son lo suficientemente especiales como para romper las reglas.
  9. Sin embargo la practicidad gana a la pureza.
  10. Los errores nunca deben pasar silenciosamente.
  11. A menos que se silencien explícitamente.
  12. Frente a la ambigüedad, evitar la tentación de adivinar.
  13. Debería haber una, y preferiblemente solo una, manera obvia de hacerlo.
  14. A pesar de que esa manera no sea obvia a menos que seas Holandés (el creador lo era)
  15. Ahora es mejor que nunca.
  16. A pesar de que nunca es muchas veces mejor que ahora mismo.
  17. Si la implementación es difícil de explicar, es una mala idea.
  18. Si la implementación es fácil de explicar, puede que sea una buena idea.
  19. Los namespaces son una gran idea, ¡tengamos más de esos!

¿Qué opinas? ¿Te hemos convencido para aprender Python? A continuación te explicaremos cómo instalar Python para que puedas empezar a dar tus primeros pasos.

¿Cómo programar en Python?

Si quieres empezar a programar en Python, en este post te damos dos alternativas de como puedes empezar a hacerlo:

  • La primera es usar Python sin ningún tipo de instalación. Sin duda la más sencilla y rápida. Para ello usaremos la versión online de JupyterLab.
  • Y la segunda es usando Python con PyCharm, para lo que tendremos que instalar el propio lenguaje Python y el entorno de desarrollo PyCharm.

¡Empecemos!

Sin instalación: JupyterLab

Si quieres empezar a programar en Python de manera rápida sin tener que instalar nada, existe una alternativa muy útil llamada JupyterLab. Se trata de una herramienta desarrollada por Jupyter, un proyecto open-source sin ánimo de lucro que nació en 2014 del proyecto IPython.

JupyterLab es un entorno de desarrollo web (se accede a el a través de Firefox, Chrome u otro navegador) y además de poder instalártelo en tu ordenador, ofrecen un servicio online gratis de usar. Con tan sólo entrar en una dirección web puedes empezar a programar.

Accede a https://jupyter.org/try y busca “Try JupyterLab”.

Una vez haya cargado la página encontrarás lo siguiente. Se trata del entorno de desarrollo que se nos proporciona. A la izquierda tienes la navegación, donde están todos tus achivos y carpetas. A la derecha se pueden visualizar los ficheros ipynb, que es el formato de los Jupyter Notebook por excelencia.

En estos ficheros ipynb puedes escribir código Python y ejecutarlo, además de poder mezclarlo con texto, imágenes, animaciones y otras herramientas.

Si creamos un nuevo Notebook con File->New->Notebook y seleccionamos como Kernel Python3, podemos empezar a crear nuestro primer código, el famoso “Hola Mundo”. Haciendo click en la flecha, se puede ejecutar el código que tenemos seleccionado.

Los Notebook son una herramienta muy potente ya que:

  • Permiten ejecutar código fragmento a fragmento, viendo el resultado justo en la siguiente línea.
  • Se puede mezclar código con otros recursos como imágenes o texto con formato markdown, entre otros recursos.
  • Es posible visualizar también gráficas, como las generadas con matplotlib.

Pero también tiene sus desventajas:

  • No se trata de un entorno de desarrollo completo, ya que carece de muchas funcionalidades.
  • Si usamos la versión web, estaremos limitados por los recursos del servidor en el que se ejecute. La rapidez será mayor en nuestro ordenador.
  • Para proyectos grandes de Python no es una alternativa.

Por lo tanto es una herramienta perfecta para empezar, pero si crees que necesitas más, te explicamos como instalar Python y el entorno de desarrollo PyCharm en la siguientes secciones.

Con instalación: Python + PyCharm

Si por lo contrario buscas algo más completo, deberás instalar Python y un entorno de desarrollo (IDE) en tu ordenador. Necesitarás dos cosas:

  • Por un lado necesitarás Python, es decir, el propio lenguaje de programación. Con esto y cualquier editor de texto ya podrías programar, pero no es demasiado agradable.
  • Por otro, es conveniente también instalar un entorno de desarrollo, ya que hace que programar sea una tarea mucho más fácil. Existe muchos, como Atom, Sublime Text o Visual Studio Code, pero nosotros usaremos PyCharm.

Instalar Python en Windows

Para instalar Python en Windows debes ir a la sección de descargas de la web oficial y seleccionar la última versión. Te recomendamos utilizar la versión 3.x ya que aunque también existen versiones anteriores como las 2.x, Python ya ha dejado de dar soporte a ellas.

Ambas versiones son relativamente similares, pero hay detalles o alguna que otra funcionalidad que varía. En este blog nos centramos en la versión 3, por lo que todo el código que veas será compatible con la misma.

Una vez hayas descargado el ejecutable, ábrelo y realiza la instalación. Es importante que verifiques que se haya seleccionado la opción de “Add Python 3.x to PATH

Una vez hayas finalizado, si abres el terminal de comandos de Windows (busca por la aplicación cmd o símbolo de sistema) puedes verificar que se ha instalado correctamente ejecutando el siguiente comando.

python -V

Y verás en la salida algo así dependiendo de la versión que hayas instalado.

Python 3.8.3

De hecho como hemos indicado, con esto ya podrías empezar a programar en Python en tu ordenador, pero la verdad que no es demasiado cómodo. En el último apartado te explicaremos como instalar PyCharm, un entorno de desarrollo que nos hará la vida mucho más fácil.

Instalar Python en macOS

Método 1

Existen dos formas diferentes de instalar Python en mac. Empezamos por la más sencilla. Accede a la sección de descargas de la web oficial de Python y descarga la última versión. Te recomendamos usar la versión 3, que es la que usamos en todo este blog y la más reciente.

Una vez lo hayas instalado y hayas terminado el proceso de instalación, puedes abrir el terminal y verificar que efectivamente se ha instalado con el siguiente comando.

python -V

Y si el comando devuelve algo así como Python 3.6.8, ya estaría instalado. Si tecleas python en el terminal ya podrías empezar a teclear comandos Python, pero no es muy cómodo. Más adelante te explicaremos como usar Python con PyCharm.

Método 2

La segunda forma de instalar Python en mac es a través del gestor de paquetes homebrew. Primero necesitarás instalar XCode con el siguiente comando.

xcode-select --install

Una vez instalado XCode deberás instalar Homebrew con el siguiente comando.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Una vez instalado Homebrew ya podemos instalar Python a través de su gestor de paquetes. Simplemente ejecuta.

brew install python3

Y por último verifica que Python se ha instalado correctamente.

python3 -V

Instalar Python en Linux

En la mayoría de distribuciones Linux se puede instalar de manera bastante fácil. Para el caso de Ubuntu 16.10 o más reciente, ejecuta el siguiente comando en el terminal. Dependiendo de la fecha, tal vez te interese instalar una versión más reciente como la 3.8 u otra.

apt-get update
apt-get install python3.8

Si utilizas otra versión diferente de Ubuntu, deberás añadir un repositorio. Te recomendamos deadsnakes PPA.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8

Y una vez finalizada la instalación puedes comprobar que se ha instalado correctamente con el siguiente comando.

python -V
python3 -V

Instalando PyCharm

Llegados a este punto debemos ya tener instalado Python en nuestro ordenador, por lo que vamos a proceder ya a instalar PyCharm.

Antes de nada, una breve introducción a PyCharm. Se trata de un entorno de desarrollo o IDE (Integrated Development Environment) de la empresa JetBrains. Está disponible en las plataformas más comunes como Windows, Linux o macOS y es una herramienta perfecta para escribir código en Python.

Para instalar PyCharm, accede a la sección de descargas y selecciona la versión Community, que es la versión gratis de desarrollo. Una vez el proceso de instalación haya acabado, deberías ver algo así al abrirlo.

A continuación explicaremos como crear y configurar un proyecto, para que puedas empezar a programar en Python dentro del IDE PyCharm.

Configurando PyCharm

Una vez hayas abierto PyCharm, realiza los siguientes pasos:

  • Crear un proyecto nuevo.
  • Asigna un nombre y di donde lo quieres guardar.
  • Te recomendamos usar Virtualenv para los entornos virtuales.
  • En Base Interpreter selecciona la versión de Python que has descargado.
  • El proyecto se habrá creado. Crea un nuevo fichero Python con un nombre.
  • Ya puedes escribir código en el fichero. Empecemos por ejemplo con un Hola Mundo
  • Y en Run->Run o click derecho y Run, podrás ejecutar el código.

Una de las características más útiles en PyCharm es que se pueden instalar paquetes de manera muy sencilla a través de su interfaz gráfico. Pongamos que por ejemplo quisieras instalar la librería numpy. Ve a Preferencias, Proyecto y en Proyect Interpreter podrás añadir librerías con haciendo click en el+

Primeros pasos en Python

A continuación te ayudamos a dar tus primeros pasos en Python. ¡Allá vamos!

Hola mundo en Python

En cualquier introducción a un nuevo lenguaje de programación, no puede faltar el famoso Hola Mundo. Se trata del primer programa por el que se empieza, que consiste en programar una aplicación que muestra por pantalla ese texto. Si ejecutas el siguiente código, habrás cumplido el primer hito de la programación en Python.

print("Hola Mundo")

Por lo tanto ya te puedes imaginar que la función print() sirve para imprimir valores por pantalla. Imprimirá todo lo que haya dentro de los paréntesis. Fácil ¿verdad? A diferencia de otros lenguajes de programación, en Python se puede hacer en 1 línea.

Definiendo variables en Python

Vamos a complicar un poco más las cosas. Creemos una variable que almacene un número. A diferencia de otros lenguajes de programación, no es necesario decirle a Python el tipo de dato que queremos almacenar en x. En otro lenguajes es necesario especificar que x almacenará un valor entero, pero no es el caso. Python es muy listo y al ver el número 5, sabrá de que tipo tiene que ser la x.

x = 5

Ahora podemos juntar el print() que hemos visto con la x que hemos definido, para en vez de imprimir el Hola Mundo, imprimir el valor de la x.

print(x)
# Salida: 5

En el anterior fragmento habrás visto el uso #. Se trata de la forma que tiene Python de crear los denominados comentarios. Un comentario es un texto que acompaña al código, pero que no es código propiamente dicho. Se usa para realizar anotaciones sobre el código, que puedan resultar útiles a otras personas. En nuestro caso, simplemente lo hemos usado para decirte que la salida de ese comando será 5, ya que x valía 5.

Sumando variables en Python

Vamos a sumar dos variables e imprimir su valor. Lo primero vamos a declararlas, con nombres a y b. Declarar una variable significa “crearla”.

# Declaramos las variables a, b
# y asignamos dos valores
a = 3
b = 7

Ahora Python ya conoce a y b y sus respectivos valores. Podemos hacer uso de + para sumarlos, y una vez más de print() para mostrar su valor por pantalla.

print(a+b)

Es importante que sólo usemos variables que hayan sido definidas, porque de lo contrario tendremos un error. Si hacemos:

print(z)
# Error! La variable no existe

Tendremos un error porque Python no sabe que es z, ya que no ha sido declarada con anterioridad.

Ejemplo condicional

Podemos empezar a complicar un poco más las cosas con el uso de una sentencia condicional. Te lo explicamos más adelante en este post sobre el if.

El siguiente código hace uso del if para comprobar si la a es igual == a 10. Si lo es, se imprimirá “Es 10” y si no lo es “No es 10”. Es importante el uso de ==, que es el operador relacional que veremos en otros posts.

a = 10
if a == 10:
    print("Es 10")
else:
    print("No es 10")

Decimales y cadenas

De la misma forma que hemos visto que una variable puede almacenar un valor entero como 10, es posible también almacenar otros tipos como decimales o incluso cadenas de texto.

Si queremos almacenar un valor decimal, basta con indicarlo usando la separación con .

valor_decimal = 10.3234

Y si queremos almacenar una cadena, es necesario indicar su contenido entre comillas simples 'o dobles ".

mi_cadena = "Hola Mundo"

Esperamos que te haya resultado útil esta introducción, y con ella ya estas list@ para continuar al siguiente tutorial, donde veremos más acerca de la sintaxis de Python.

Sintaxis Python

A continuación veremos la sintaxis de Python, viendo como podemos empezar a usar el lenguaje creando nuestras primeras variables y estructuras de control.

El termino sintaxis hace referencia al conjunto de reglas que definen como se tiene que escribir el código en un determinado lenguaje de programación. Es decir, hace referencia a la forma en la que debemos escribir las instrucciones para que el ordenador, o más bien lenguaje de programación, nos entienda.

En la mayoría de lenguajes existe una sintaxis común, como por ejemplo el uso de = para asignar un dato a una variable, o el uso de {} para designar bloques de código, pero Python tiene ciertas particularidades.

La sintaxis es a la programación lo que la gramática es a los idiomas. De la misma forma que la frase “Yo estamos aquí” no es correcta, el siguiente código en Python no sería correcto, ya que no respeta las normas del lenguaje.

if ($variable){
    x=9;
}

Lo veremos a continuación en detalle, pero Python no soporta el uso de $ ni hace falta terminar las líneas con ; como en otros lenguajes, y tampoco hay que usar {} en estructuras de control como en el if.

Por otro lado, de la misma forma que un idioma no se habla son simplemente saber todas sus palabras, en la programación no basta con saber la sintaxis de un lenguaje para programar correctamente en el. Es cierto que sabiendo la sintaxis podremos empezar a programar y a hacer lo que queramos, pero el uso de un lenguaje de programación va mucho más allá de la sintaxis.

Para empezar a perderle el miedo a la sintaxis de Python, vamos a ver un ejemplo donde vemos cadenas, operadores aritméticos y el uso del condicional if.

El siguiente código simplemente define tres valores a, b y c, realiza unas operaciones con ellos y muestra el resultado por pantalla.

# Definimos una variable x con una cadena
x = "El valor de (a+b)*c es"

# Podemos realizar múltiples asignaciones
a, b, c = 4, 3, 2

# Realizamos unas operaciones con a,b,c
d = (a + b) * c

# Definimos una variable booleana
imprimir = True

# Si imprimir, print()
if imprimir:
    print(x, d)

# Salida: El valor de (a+b)*c es 14

Como puedes observar, la sintaxis de Python es muy parecida al lenguaje natural o pseudocódigo, lo que hace que sea relativamente fácil de leer. Otra ventaja es que no necesitamos nada más, el código anterior puede ser ejecutado tal cual está. Si conoces otros lenguajes como C o Java, esto te resultará cómodo, ya que no es necesario crear la típica función main().

Comentarios

Los comentarios son bloques de texto usados para comentar el código. Es decir, para ofrecer a otros programadores o a nuestro yo futuro información relevante acerca del código que está escrito. A efectos prácticos, para Python es como si no existieran, ya que no son código propiamente dicho, solo anotaciones.

Los comentarios se inician con # y todo lo que vaya después en la misma línea será considerado un comentario.

# Esto es un comentario

Al igual que en otros lenguajes de programación, podemos también comentar varias líneas de código. Para ello es necesario hacer uso de triples comillas bien sean simples ''' o dobles """. Es necesario usarlas para abrir el bloque del comentario y para cerrarlo.

'''
Esto es un comentario
de varias líneas
de código
'''

Identación y bloques de código

En Python los bloques de código se representan con identación, y aunque hay un poco de debate con respecto a usar tabulador o espacios, la norma general es usar cuatro espacios.

En el siguiente código tenemos un condicional if. Justo después tenemos un print() identado con cuatro espacios. Por lo tanto, todo lo que tenga esa identación pertenecerá al bloque del if.

if True:
    print("True")

Esto es muy importante ya que el código anterior y el siguiente no son lo mismo. De hecho el siguiente código daría un error ya que el if no contiene ningún bloque de código, y eso es algo que no se puede hacer en Python.

if True:
print("True")

Por otro lado, a diferencia de en otros lenguajes de programación, no es necesario utilizar ; para terminar cada línea.

# Otros lenguajes como C
# requieren de ; al final de cada línea
x = 10;

Sin embargo en Python no es necesario, basta con un salto de línea.

x = 5
y = 10

Pero se puede usar el punto y coma ; para tener dos sentencias en la misma línea.

x = 5; y = 10

Múltiples líneas

En algunas situaciones se puede dar el caso de que queramos tener una sola instrucción en varias línea de código. Uno de los motivos principales podría ser que fuera demasiado larga, y de hecho en la especificación PEP8 se recomienda que las líneas no excedan los 79 caracteres.

Haciendo uso de \ se puede romper el código en varias líneas, lo que en determinados casos hace que el código sea mucho más legible.

x = 1 + 2 + 3 + 4 +\
    5 + 6 + 7 + 8

Si por lo contrario estamos dentro de un bloque rodeado con paréntesis (), bastaría con saltar a la siguiente línea.

x = (1 + 2 + 3 + 4 +
     5 + 6 + 7 + 8)

Se puede hacer lo mismo para llamadas a funciones

def funcion(a, b, c):
    return a+b+c

d = funcion(10,
23,
3)

Creando variables

Anteriormente ya hemos visto como crear una variable y asignarle un valor con el uso de =. Existen también otras formas de hacerlo de una manera un poco más sofisticada.

Podemos por ejemplo asignar el mismo valor a diferentes variables con el siguiente código.

x = y = z = 10

O también podemos asignar varios valores separados por coma.

x, y = 4, 2
x, y, z = 1, 2, 3

Nombrando variables

Puedes nombrar a tus variables como quieras, pero es importante saber que las mayúsculas y minúsculas son importantes. Las variables x y X son distintas.

Por otro lado existen ciertas normas a la hora de nombrar variables:

  • El nombre no puede empezar por un número
  • No se permite el uso de guiones -
  • Tampoco se permite el uso de espacios.

Se muestran unos ejemplos de nombres de variables válidos y no válidos.

# Válido
_variable = 10
vari_able = 20
variable10 = 30
variable = 60
variaBle = 10

# No válido
2variable = 10
var-iable = 10
var iable = 10

Una última condición para nombrar a una variable en Python, es no usar nombres reservados para Python. Las palabras reservadas son utilizadas por Python internamente, por lo que no podemos usarlas para nuestras variables o funciones.

import keyword
print(keyword.kwlist)

# ['False', 'None', 'True', 'and', 'as', 'assert',
# 'async', 'await', 'break', 'class', 'continue',
# 'def', 'del', 'elif', 'else', 'except', 'finally',
# 'for', 'from', 'global', 'if', 'import', 'in', 'is',
# 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
# 'return', 'try', 'while', 'with', 'yield']

De hecho con el siguiente comando puedes ver todas las palabras clave que no puedes usar.

import keyword
print(keyword.kwlist)

Uso de paréntesis

Python soporta todos los operadores matemáticos más comunes, conocidos como operadores aritméticos. Por lo tanto podemos realizar sumas, restas, multiplicaciones, exponentes (usando **) y otros que no vamos a explicar por ahora. En el siguiente ejemplo realizamos varias operaciones en la misma línea, y almacenamos su resultado en y.

x = 10
y = x*3-3**10-2+3

Pero el comportamiento del código anterior y el siguiente es distinto, ya que el uso de paréntesis () da prioridad a unas operaciones sobre otras.

x = 10
y = (x*3-3)**(10-2)+3

El uso de paréntesis no solo se aplica a los operadores aritméticos, sino que también pueden ser aplicados a otros operadores como los relacionales o de membresía que vemos en otros posts.

Variables y alcance

Un concepto muy importante cuando definimos una variable, es saber el alcance o scope que tiene. En el siguiente ejemplo la variable con valor 10 tiene un alcance global y la que tiene el valor 5 dentro de la función, tiene un alcance local. Esto significa que cuando hacemos print(x), estamos accediendo a la variable global x y no a la x definida dentro de la función.

x = 10

def funcion():
    x = 5

funcion()
print(x)

No te preocupes si no lo has entendido. Es un concepto un poco complicado de pillar al principio, pero lo veremos más adelante. Te recomendamos leer los siguientes posts para entender mejor las funciones y el alcance de las variables:

Uso de la función print()

Por último, en cualquier lenguaje de programación es importante saber lo que va pasando a medida que se ejecutan las diferentes instrucciones. Por ello, es interesante hacer uso de print() en diferentes secciones del código, ya que nos permiten ver el valor de las variables y diferente información útil.

Existen muchas formas de usar la función print() y te las explicamos en detalle en este post, pero por ahora basta con que sepas lo básico.

Como ya hemos visto se puede usar print() para imprimir por pantalla el texto que queramos.

print("Esto es el contenido a imprimir")

También es posible imprimir el contenido de una variable.

x = 10
print(x)

Y separando por comas , los valores, es posible imprimir el texto y el contenido de variables.

x = 10
y = 20
print("Los valores x, y son:", x, y)
# Salida: Los valores x, y son: 10 20

Nombrando variables

Crear variables

Las variables en Python se pueden crear asignando un valor a un nombre sin necesidad de declararla antes.

x = 10
y = "Nombre"
z = 3.9

Nombres de variables

Podemos asignar el nombre que queramos, respetando no usar las palabras reservadas de Python ni espacios, guiones o números al principio.

# Válido
_variable = 10
vari_able = 20
variable10 = 30
variable = 60
variaBle = 10

Los siguientes ejemplos no son permitidos.

# No válido
2variable = 10
var-iable = 10
var iable = 10

Asignar múltiples valores

Se pueden asignar múltiples variables en la misma línea.

x, y, z = 10, 20, 30

Imprimir variables

Una variable puede ser impresa por pantalla usando print()

x = 10
y = "Nombre"

print(x)
print(y)
 siegue en su webm o en su libro
https://twitter.com/ellibrodepython 

 

 otros recursos

inventwithpython.com

https://www.amazon.com/dp/B0BQN5FF55?ref_=cm_sw_r_apan_dp_M8W6F3WM222J8YM3H5XB&language=en-US

https://aprendepython.es/

Python es un lenguaje de programación de alto nivel creado a finales de los 80/principios de los 90 por Guido van Rossum, holandés que trabajaba por aquella época en el Centro para las Matemáticas y la Informática de los Países Bajos. Sus instrucciones están muy cercanas al lenguaje natural en inglés y se hace hincapié en la legibilidad del código. Toma su nombre de los Monty Python, grupo humorista de los 60 que gustaban mucho a Guido. Python fue creado como sucesor del lenguaje ABC. 1

Características del lenguaje

A partir de su definición de la Wikipedia:

  • Python es un lenguaje de programación interpretado y multiplataforma cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.

  • Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.

  • Añadiría, como característica destacada, que se trata de un lenguaje de propósito general.

Ventajas

  • Libre y gratuito (OpenSource).

  • Fácil de leer, parecido a pseudocódigo.

  • Aprendizaje relativamente fácil y rápido: claro, intuitivo….

  • Alto nivel.

  • Alta Productividad: simple y rápido.

  • Tiende a producir un buen código: orden, limpieza, elegancia, flexibilidad, …

  • Multiplataforma. Portable.

  • Multiparadigma: programación imperativa, orientada a objetos, funcional, …

  • Interactivo, modular, dinámico.

  • Librerías extensivas («pilas incluídas»).

  • Gran cantidad de librerías de terceros.

  • Extensible (C++, C, …) y «embebible».

  • Gran comunidad, amplio soporte.

  • Interpretado.

  • Tipado dinámico 5.

  • Fuertemente tipado 6.

Desventajas

  • Interpretado (velocidad de ejecución, multithread vs GIL, etc.).

  • Consumo de memoria.

  • Errores no detectables en tiempo de compilación.

  • Desarrollo móvil.

  • Documentación a veces dispersa e incompleta.

  • Varios módulos para la misma funcionalidad.

  • Librerías de terceros no siempre del todo maduras.

Uso de Python

Al ser un lenguaje de propósito general, podemos encontrar aplicaciones prácticamente en todos los campos científico-tecnológicos:

  • Análisis de datos.

  • Aplicaciones de escritorio.

  • Bases de datos relacionales / NoSQL

  • Buenas prácticas de programación / Patrones de diseño.

  • Concurrencia.

  • Criptomonedas / Blockchain.

  • Desarrollo de aplicaciones multimedia.

  • Desarrollo de juegos.

  • Desarrollo en dispositivos embebidos.

  • Desarrollo web.

  • DevOps / Administración de sistemas / Scripts de automatización.

  • Gráficos por ordenador.

  • Inteligencia artificial.

  • Internet de las cosas.

  • Machine Learning.

  • Programación de parsers / scrapers / crawlers.

  • Programación de redes.

  • Propósitos educativos.

  • Prototipado de software.

  • Seguridad.

  • Tests automatizados.

De igual modo son muchas las empresas, instituciones y organismos que utilizan Python en su día a día para mejorar sus sistemas de información.

https://aprendepython.es/core/introduction/python/#consejos-para-programar

 

Este capítulo es una introducción a la programación para conocer, desde un enfoque sencillo pero aclaratorio, los mecanismos que hay detrás de ello.

 

 Tienes realpython o w3schools con bastante contenido

CS50 Python es buenisimo si sabes inglés

 

 



 

 

 

 

No hay comentarios: