""
Mostrando las entradas con la etiqueta codigo. Mostrar todas las entradas
Mostrando las entradas con la etiqueta codigo. Mostrar todas las entradas

martes, 5 de mayo de 2026

Google Colab, el camino para integrar Python a tu google Drive

 Fuente: https://www.freecodecamp.org/news/google-colaboratory-python-code-in-your-google-drive/

Google Colaboratory: Cómo ejecutar código Python en tu Google Drive


Por: Edward Pratowski, Abril 21 de 2022.


Google Colaboratory (“Colab”) es un cuaderno (similar a un cuaderno Jupyter) donde puedes ejecutar código Python en tu Google Drive. Puedes escribir texto, escribir código, ejecutar ese código y ver el resultado, todo en línea en el mismo cuaderno.

Beneficios de Google Colab:

Compartir cuadernos es tan fácil como compartir cualquier documento de Google. También puedes descargar la aplicación y ejecutar el código desde tu teléfono.

Puedes usar el potente y popular lenguaje Python en tu Google Drive, y la configuración te llevará menos de cinco minutos.

Dado que Python se ejecuta en un servidor (y no en su navegador local ni en su ordenador local), puede utilizarlo fácilmente para interactuar con una base de datos en línea y analizar datos en situaciones en las que necesite mantener el código privado.

Cómo agregar Colab a tu Google Drive
1. En tu ordenador, en tu Google Drive, haz clic en el botón "+ nuevo".
2. Haz clic en "más" y luego en "conectar más aplicaciones" en la parte inferior de ese nuevo menú.

3. En Google Workspace Marketplace, escribe “colab” en el cuadro de búsqueda.


4. Haz clic para añadir Google Colaboratory.




  1. Ahora tienes Colab en tu lista de aplicaciones disponibles.

Cómo usar Google Colab

Ahora, cuando haga clic en el botón "+nuevo" y luego en "más" (en la parte inferior de la primera lista), verá "Google Colaboratory" en la siguiente lista.Haz clic aquí para abrir un nuevo cuaderno de Colab. Dale un nombre a tu cuaderno, como lo harías con cualquier documento u hoja de cálculo de Google. Este cuaderno está en modo oscuro.


Escribe un comando sencillo a modo de prueba. Para ejecutar el código en cualquier celda, puedes hacer clic en el botón de ejecución situado a la izquierda de la celda (tiene el aspecto de un botón de reproducción con un triángulo dentro de un círculo) o pulsar [Mayús] + [Intro]. 
El resultado aparecerá justo debajo de la celda.


Puedes importar muchas bibliotecas populares sin necesidad de instalarlas previamente.


Si importas una biblioteca o defines una función en una celda, esta seguirá estando disponible en otras celdas durante al menos unos minutos. El entorno de ejecución se desconectará si transcurren 30 minutos sin que se ejecute ninguna celda o si el cuaderno permanece abierto durante 12 horas.

Explorar Colab

Si has seguido las instrucciones y ahora tienes Google Colaboratory instalado, ya estás listo para crear tus propios proyectos.

Si haces clic en el símbolo “ < > ” en la parte inferior izquierda del cuaderno, encontrarás fragmentos de código que puedes usar. Google también tiene muchos recursos disponibles, algunos de los cuales se encuentran en https://colab.research.google.com/ (solo tienes que cerrar la ventana emergente que aparece).

En freeCodeCamp, estamos creando un programa de estudios para enseñarte a usar Python para resolver problemas matemáticos. Ahora tienes las herramientas a tu alcance. ¡Feliz programación!

sábado, 4 de abril de 2026

La importancia de las Funciones en Python

 4.1.1 ¿Por qué necesitamos funciones?

Hasta ahorita has implementado varias veces el uso de funciones, pero solo se han visto algunas de sus ventajas. Solo se han invocado funciones para utilizarlas como herramientas, con el fin de hacer la vida más fácil, y para simplificar tareas tediosas y repetitivas.

Cuando se desea mostrar o imprimir algo en consola se utiliza print(). Cuando se desea leer el valor de una variable se emplea input(), combinados posiblemente con int() o float().

También se ha hecho uso de algunos métodos, los cuales también son funciones, pero declarados de una manera muy específica.

Ahora aprenderás a escribir tus propias funciones, y como utilizarlas. Escribiremos varias de ellas juntos, desde muy sencillas hasta algo complejas. Se requerirá de tu concentración y atención.

Muy a menudo ocurre que un cierto fragmento de código se repite muchas veces en un programa. Se repite de manera literal o, con algunas modificaciones menores, empleando algunas otras variables dentro del programa. También ocurre que un programador ha comenzado a copiar y pegar ciertas partes del código en más de una ocasión en el mismo programa.

Puede ser muy frustrante percatarse de repente que existe un error en el código copiado. El programador tendrá que escarbar bastante para encontrar todos los lugares en el código donde hay que corregir el error. Además, existe un gran riesgo de que las correcciones produzcan errores adicionales.

Definamos la primera condición por la cual es una buena idea comenzar a escribir funciones propias: si un fragmento de código comienza a aparecer en más de una ocasión, considera la posibilidad de aislarlo en la forma de una función invocando la función desde el lugar en el que originalmente se encontraba.

Puede suceder que el algoritmo que se desea implementar sea tan complejo que el código comience a crecer de manera incontrolada y, de repente, ya no se puede navegar por él tan fácilmente.

Se puede intentar solucionar este problema comentando el código, pero pronto te darás cuenta que esto empeorará la situación - demasiados comentarios hacen que el código sea más difícil de leer y entender. Algunos dicen que una función bien escrita debe ser comprensible con tan solo una mirada.

Un buen desarrollador divide el código (o mejor dicho: el problema) en piezas aisladas, y codifica cada una de ellas en la forma de una función.

Esto simplifica considerablemente el trabajo del programa, debido a que cada pieza se codifica por separado, y consecuentemente se prueba por separado. A este proceso se le llama comúnmente descomposición.

Existe una segunda condición: si un fragmento de código se hace tan extenso que leerlo o entenderlo se hace complicado, considera dividirlo en pequeños problemas, por separado, e implementa cada uno de ellos como una función independiente..

Esta descomposición continúa hasta que se obtiene un conjunto de funciones cortas, fáciles de comprender y probar.


viernes, 18 de abril de 2025

Thinkcspy. Funciones / 6.9 Desarrollo del programa

 

6.9. Desarrollo del programa

En este punto, debería poder mirar las funciones completas y decir qué lo hacen. Además, si ha estado haciendo los ejercicios, ha escrito algunos Pequeñas funciones. Mientras escribe funciones más grandes, puede comenzar a tener más Dificultad, especialmente con tiempo de ejecución y errores semánticos.

Para lidiar con programas cada vez más complejos, vamos a sugerir una técnica llamado desarrollo incremental . El objetivo del desarrollo incremental es Evite las largas sesiones de depuración agregando y probando solo una pequeña cantidad de código a la vez.

Como ejemplo, suponga que desea encontrar la distancia entre dos puntos, dada por las coordenadas (x 1 , y 1 ) y (x 2 , y 2 ). Por el teorema pitagórico, la distancia es:

Fórmula de distancia

El primer paso es considerar qué distance la función debería parecer en Pitón. En otras palabras, ¿cuáles son las entradas (parámetros) y cuál es la salida? (Valor de retorno)?

En este caso, los dos puntos son las entradas, que podemos representar usando cuatro parámetros. El valor de retorno es la distancia, que es un valor de punto flotante.

Ya podemos escribir un esquema de la función que captura nuestro pensamiento hasta ahora. 

 

>>def distance(x1, y1, x2, y2):
>>    return 0.0
 

Obviamente, esta versión de la función no calcula distancias; siempre Devuelve cero. Pero es sintácticamente correcto, y se ejecutará, lo que significa que podemos probarlo antes de hacerlo más complicado.

Importamos el módulo de prueba para permitirnos escribir una prueba unitaria para la función. 

>>import test
>>def distance(x1, y1, x2, y2):
>>    return 0.0

>>test.testEqual(distance(1, 2, 1, 2), 0)

 

 

El testEqual La función del módulo de prueba llama a la función de distancia con entradas de muestra: (1,2, 1,2). Los primeros 1,2 son las coordenadas del primer punto y el segundo 1,2 son las coordenadas del segundo punto. ¿Cuál es la distancia entre estos dos puntos? Cero. testEqual compara lo que devuelve la función de distancia y el 0 (la respuesta correcta).

Extender el programa ...

En la línea 6, escriba otra prueba unitaria. Use (1,2, 4,6) como parámetros a la función de distancia. ¿Qué tan separados están estos dos puntos? Use ese valor (en lugar de 0) como la respuesta correcta para esta prueba unitaria.

En la línea 7, escriba otra prueba unitaria. Use (0,0, 1,1) como parámetros a la función de distancia. ¿Qué tan separados están estos dos puntos? Use ese valor como la respuesta correcta para esta prueba unitaria.

La primera prueba pasa, pero las otras fallan ya que la función de distancia aún no contiene todos los pasos necesarios.

Al probar una función, es esencial conocer la respuesta correcta.

Para la segunda prueba, la distancia horizontal es igual a 3 y la vertical La distancia es igual a 4; De esa manera, el resultado es 5 (la hipotenusa de un 3-4-5 triángulo). Para la tercera prueba, tenemos un triángulo de 1-1-SQRT (2).

En este punto hemos confirmado que la función es sintácticamente correcta y Podemos comenzar a agregar líneas de código. Después de cada cambio incremental, probamos el funcionar nuevamente. Si se produce un error en algún momento, sabemos dónde debe estar, en La última línea que agregamos.

Un primer paso lógico en el cálculo es encontrar las diferencias x 2 - x 1 e y 2 - y 1 . Almacenaremos esos valores en variables temporales nombradas dxy dy. 

>>def distance(x1, y1, x2, y2):
>>    dx = x2 - x1
>>    dy = y2 - y1
>>    return 0.0

A continuación, calculamos la suma de cuadrados de dxy dy. 

>>def distance(x1, y1, x2, y2):
>>    dx = x2 - x1
>>    dy = y2 - y1
>>    dsquared = dx**2 + dy**2
>>    return 0.0

 

Nuevamente, podríamos ejecutar el programa en esta etapa y verificar el valor de dsquared (cual debería ser 25).

Finalmente, usando el exponente fraccional 0.5 para encontrar la raíz cuadrada, Calculamos y devolvemos el resultado. 

>>import test
>>def distance(x1, y1, x2, y2):
>>    dx = x2 - x1
>>    dy = y2 - y1
>>    dsquared = dx**2 + dy**2
>>    result = dsquared**0.5
>>    return result

>>test.testEqual(distance(1,2, 1,2), 0)
>>test.testEqual(distance(1,2, 4,6), 5)
>>test.testEqual(distance(0,0, 1,1), 1.41)

 

 

Corrige el error ...

Dos de las pruebas pasan pero la última falla. ¿Todavía hay un error en la función?

Con frecuencia descubrimos errores en las funciones que estamos escribiendo. Sin embargo, es posible que haya un error en una prueba. Aquí el error está en la precisión de la respuesta correcta.

La tercera prueba falla porque, por defecto, prueba TestEqual 5 dígitos a la derecha del punto decimal.

  • Cambiar 1.41a 1.41421 y correr. La prueba pasará.

Hay circunstancias en las que 2 dígitos a la derecha del punto decimal son suficientemente precisos.

  • Copiar línea 11 en la línea 12. En línea 12, cambiar 1.41421a 1.41. Correr. La prueba falla.

  • Tipo , 2 después de 1.41. (El 2 representa la precisión de la prueba: cuántos dígitos a la derecha del decimal debe ser correcto).

¡Ahora las cuatro pruebas pasan! ¡Maravilloso! Sin embargo, es posible que aún necesite realizar pruebas adicionales.

Cuando comience, puede agregar solo una línea o dos de código a la vez. Como tú Obtenga más experiencia, puede encontrarse escribiendo y depurando más grande trozos conceptuales. A medida que mejora sus habilidades de programación, debe encontrarse Gestión de trozos más grandes y más grandes: esto es muy similar a la forma en que aprendimos a leer letras, sílabas, palabras, frases, oraciones, párrafos, etc., o la forma en que aprendemos Para fragmentar la música: desde notas indviduales hasta acordes, bares, frases, etc.

Los aspectos clave del proceso son:

  1. Asegúrese de saber lo que está tratando de lograr. Entonces puede escribir pruebas unitarias apropiadas.

  2. Comience con un programa de esqueleto que funcione y haga pequeños cambios incrementales. En cualquier Punto, si hay un error, sabrá exactamente dónde está.

  3. Use variables temporales para contener valores intermedios para que pueda inspeccionar fácilmente y revisarlos.

  4. Una vez que el programa esté funcionando, es posible que desee consolidar múltiples declaraciones en expresiones compuestas, Pero solo haga esto si no hace que el programa sea más difícil de leer.

domingo, 2 de febrero de 2025

Curso virtual de Python UniAndes-coursera / 2.8 Un programa para leer (2)

 

2.8. Un programa para leer (2)

Volvemos ahora al programa completo que usted leyó al inicio del capítulo. Vuelva a leerlo detenidamente: todo lo que aparece en este programa ya lo estudiamos y usted debería estar en capacidad de entenderlo.

>># Este programa está escrito en el archivo perimetro.py

>>def perimetro_triangulo(cateto1: float, cateto2: float)->float:

    """
>>    Esta función calcula el perímetro de un triángulo rectángulo
>>    dada la longitud de sus dos catetos
>>    Parámetros:
>>      cateto1 (float): la longitud del primer cateto del triángulo
>>      cateto2 (float): la longitud del segundo cateto del triángulo
>>    Retorno
>>      (float): la longitud del perímetro del triángulo
    """    

>># Usar la función calcular_hip para calcular la longitud del lado faltante
>>    hipotenusa = calcular_hip(cateto1, cateto2)
    
>>    # Sumar los tres lados y convertirlos en la respuesta de la función
>>    return cateto1 + cateto2 + hipotenusa



>>def calcular_hip(cateto1: float, cateto2: float)->float:
    """
>>    Esta función calcula la longitud de la hipotenusa en un triángulo rectángulo
>>    dada la longitud de sus dos catetos
>>    Parámetros:
>>      cateto1 (float): la longitud del primer cateto del triángulo
>>      cateto2 (float): la longitud del segundo cateto del triángulo
>>    Retorno
>>      (float): la longitud de la hipotenusa
    """

>>    # Sumar la longitud de los catetos elevados al cuadrado
>>    suma_cuadrados = (cateto1 ** 2) + (cateto2 ** 2)
    
>>    # Calcular la raiz cuadrada de la suma usando la función pow y el exponente 0.5
>>    hipotenusa = pow(suma_cuadrados, 0.5)
>>    return hipotenusa



>># Solicitarle al usuario la longitud de los dos catetos
>>cadena_cat_1 = input("Indique la longitud del primer cateto: ")
>>cadena_cat_2 = input("Indique la longitud del segundo cateto: ")

>># Convertir los caracteres dados por el usuario en un número decimal
>>cat_1 = float(cadena_cat_1)
>>cat_2 = float(cadena_cat_2)

>># Llamar a la función con los valores recibidos
>>perimetro = perimetro_triangulo(cat_1, cat_2)

>># Mostrarle al usuario el resultado de la operación
>>print("El perímetro de un triángulo rectángulo que tenga catetos de longitud", cat_1, "y", cat_2, "es", perimetro)

 

Preguntas: A partir de su lectura del programa, intente responder las siguientes preguntas.

  • ¿Cuál es el objetivo del programa?

  • ¿Qué información tendrá que suministrar el usuario que ejecute el programa?

  • ¿Cuál es el objetivo de cada bloque?

  • ¿Qué es lo que primero se ejecuta?

  • ¿Cual es la diferencia entre las cosas que están escritas en español y las que están escritas en inglés?

  • ¿Cuáles son los valores que tiene que proporcionar el usuario?

  • ¿Qué ve el usuario al finalizar la ejecución?

     

    2.8.1. Ejercicios

    1. Copie el programa a su computador y ejecútelo. Hágale modificaciones y observe los cambios que se producen en sus resultados.

    2. Escriba un programa completo que le pida al usuario la temperatura actual en grados Celsius y le informe cuál es esa temperatura en Fahrenheit.

    Observe la siguiente figura:

    Ejercicio Área 

    3. Construya un programa que le pida al usuario la medida del lado del cuadrado y le informe al usuario el tamaño del área de la zona negra.

 

miércoles, 29 de enero de 2025

Que es Ipython

 

IPython y comandos mágicos

Author: Eduardo July 27, 2021
6 min. read
 
IPython, es sin duda una de mis herramientas favoritas en cuanto al desarrollo en Python se refiere. Después de crear mi entorno de desarrollo, mi siguiente tarea es siempre instalar IPython. No importa si el proyecto es relativamente pequeño o no, si es web o no. No importa, IPython siempre estará para todos mis proyectos. 🧐
 
Por la gran facilidad que esta herramienta nos ofrece, tanto para crear como testear código Python, me gustaría explicarte en detalle qué es IPython y cómo podemos sacarle el máximo provecho en nuestros procesos de desarrollo. 🐍

Es una herramienta que sin duda vale muchísimo la pena, así que te invito a que te quedes al final de esta entrega.

Bien, si más introducción comencemos con el tutorial.

Si nunca habías escuchado acerca de IPython, bueno, aquí te lo explico. IPython es una Shell interactivo de Python, un Shell con baterías incluida.

IPython no se encuentra dentro de la biblioteca estándar de Python, por lo tanto para poder utilizar esta herramienta será necesario instalarla. Para ello ejecutamos el siguiente comando.

>> pip install ipython 

Una vez la librería se haya instalado, podremos ingresar a su Shell interactivo ejecutando en terminal el comando 'ipython'.


 

Dentro del Shell seremos capaces de escribir y ejecutar código Python.

Lo primero que podemos notar es el auto completado. Haciendo uso de la tecla tab podremos auto completar variables, funciones, clases, imports, rutas etc... 

Algo sin duda super útil para nuestro desarrollo.

Pero lo más interesante de IPython no son sus colores o el auto completado, no. Lo interesante de IPython son sus comandos mágicos.

Los comandos mágicos no son más que comandos que nos permitirán resolver tareas cotidianas en el desarrollo. Estos comandos se identifican por el prefijo porcentaje (%).

Existen una gran cantidad de comandos mágicos, sin embargo para este post me gustaría compartir los que considero los más relevantes, los que sin duda usaremos en nuestro día a día. 



 

Comandos Mágicos.

Comencemos con el comando %time. Un comando mágico que nos permitirá conocer cuanto tiempo a tomado una tarea ser completada. U comando super útil cuando nos encontramos midiendo rendimientos de performance.

Para utilizar este comando basta con llamarlo y pasar como argumento la tarea de la cual queremos conocer su tiempo de ejecución.

>>def python_task():
>>    import time
>>    time.sleep(2)
>>    print('Fin de la tarea!')

>>%time python_task() 

>>>>Fin de la tarea!
>>>>CPU times: user 310 µs, sys: 841 µs, total: 1.15 ms
>>>>Wall time: 2 s

En este caso para fines prácticos mi función toma una pequeña siesta de 2 segundos. 🥱

Ahora, si lo que deseamos medir no es una función o método, si no un bloque de código, haremos uso del doble porcentaje (%%).

>>In [6]: import time

>>In [7]: %%time
>>   ...: for i in range(3):
>>   ...:     time.sleep(1)

>>>>CPU times: user 889 µs, sys: 13 µs, total: 902 µs
>>>>Wall time: 3 s

Ahora hablemos del comando %run, un comando que, como su nombre nos dice, nos permite ejecutar scripts directamente en el Shell de IPython. Veamos.

Imaginemos que tenemos el siguiente archivo .py; main.py

>>for x in range(0, 10):
>>    print(x)

Para ejecutarlo directamente en el Shell usaremos el comando %run. Basta, como pasar como argumento la ruta del archivo a ejecutar. Ya sea una ruta relativa o absoluta.  

>>In [1]: %run main.py
>>0
>>1
>>2
>>3
>>4
>>5
>>6
>>7
>>8
>>9 

Y en caso el archivo .py a su vez necesite argumentos para su ejecución,  colocamos dichos argumentos sobre el comando %run.

>>%run example.py argumento1 argumento2 argumento3

Si queramos echarle un vistazo al código fuente y ejecutarlo, hacemos uso del comando %load.

>>In [2]: # %load main.py ...: for x in range(0, 10): ...: print(x) ...:

Ojos es importante mencionar que este comando no permite editar el código fuente. El comando %load simplemente carga todo el contenido del archivo en el namespace de IPython. Con lo cual podremos ejecutar el código fuente y hacer uso de sus variables, funciones, clases etc...

Si queremos editar un archivo .py lo ideal sería hacer uso del comando mágico %edit.

>>In [1]: %edit main.py

El comando %edit abrirá un editor de texto donde podremos modificar el archivo.

Y, si solo queremos visualizar el contenido de un archivo, sin ejecutarlo o editarlo, hacemos uso del comando %pycat.

>>In [1]: %pycat main.py for x in range(0, 10): print(x)

Y, ya que mencionamos el namespace ¿Qué pasa si queremos eliminar todas las variables, funciones y clases creadas hasta este momento? Bueno, para ello haremos uso del comando mágico _%reset, eliminando todo el cache de memoria.

>>In [3]: %reset Once deleted, variables cannot be recovered. Proceed (y/[n])? y

Te aconsejo tengas cuidado con este comando, ya que una vez limpio el namespace no hay forma de recuperar los valores para las variables creadas anteriormente. Todo se perderá.

Así que, una muy buena, idea antes de ejecutar este comando, es inspeccionar que variables tenemos en memoria.

>>In [7]: nombre = 'Eduardo' In [8]: titulo = 'Artículo iPython' In [9]: %who nombre titulo

Para este ejemplo cree 2 nuevas variables, las cuales listo mediante el comando mágico %who.


Crear archivos 📃

Algo que simplemente me encanta de IPython es la posibilidad de guardar todas las líneas código ejecutas en el Shell, sí, así como lo escuchas. Esos días donde testeabas tu código en terminal, y si funciona copiabas y pegabas en tu editor de texto, ya podemos dejarlos en el pasado. (Bueno, por lo menos eso hacia yo).

Para crear un nuevo archivo hacemos uso del comando %save, pasando como argumentos de que línea a que línea queremos guardar.

Veamos un ejemplo.

s In [1]: username = 'EduardoGPG' In [2]: name = 'Eduardo Ismael' In [3]: %who name username In [4]: print(f'Hola {username}') Hola EduardoGPG In [5]: print(name) Eduardo Ismael In [6]: print('Nos encontramoen una nueva entrega') Nos encontramos en una nueva entrega

Procedemos a guardar.

In [7]: %save example.py 1-2 4-6 File `example.py` exists. Overwrite (y/[N])? y The following commands were written to file `example.py`: username = 'EduardoGPG' name = 'Eduardo Ismael' print(f'Hola {username}') print(name) print('Nos encontramos en una nueva entrega')

Para este ejemplo le indico a IPython que quiero crear el archivo example.py,con las líneas de la 1 a la 2 y de la 4 a la 6, excluyendo la línea 3.

El comando nos da un preview de todo lo almacenado en dicho archivo.

Y por supuesto, si queremos conocer en más detalle, podemos utilizar los comandos previamente mencionados: %edit o %pycat.


Introspección 🔎

Algo que sin duda me bolo la cabeza cuando lo supe, es lo fácil que podemos conocer el código fuente de funciones, clases y métodos con IPython. 🤯

Para ello utilizamos la introspección.

Vemos un par de ejemplos.

In [11]: def suma(a, b): ...: """" Retorna la suma de a + b """ ...: return a + b ...: In [12]: suma? Signature: suma(a, b) Docstring: " Retorna la suma de a + b File: ~/projects/blue/<ipython-input-11-d3e295ae5f56> Type: function

En este caso he definido la función suma, si quiero conocer su tipo, docstring y a que archivo pertenece, basta con colocar el objeto seguido del subfijo signo de interrogación (?).

Esto no solo funciona para funciones, también podemos hacerlo para variables.

In [13]: nombre = 'Eduardo' In [14]: nombre? Type: str String form: Eduardo Length: 7 Docstring:

Aun que lo común es conocer información sobre bloques de códigos. 😜

y, en caso queramos conocer el código de una función, clase o método recurriremos al doble signo de interrogación (??).

Ejemplo.

In [16]: def palindromo(sentence): ...: """Retornar V/F si la sentencia es un palindromo""" ...: return sentence.lower() == sentence.lower()[::-1] In [19]: palindromo?? Signature: palindromo(sentence) Source: def palindromo(sentence): """Retornar V/F si la sentencia es un palindromo""" return sentence.lower() == sentence.lower()[::-1] File: ~/projects/blue/<ipython-input-16-93fa369798f4> Type: function
Listado de comandos

Ya para finalizar, me gustaría recalcar que, como mencione anteriormente, estos no son todos los comandos mágicos que podemos utilizar con IPython. Así que si te interesa conocer cada uno de ellos, te recomiendo ejecutes el comando %lsmagic..

In [9]: %lsmagic Out[9]: Available line magics: %alias %alias_magic %autoawait %autocall %autoindent %automagic %bookmark %cat %cd %clear %colors %conda %config %cp %cpaste %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %paste %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode Available cell magics: %%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile Automagic is ON, % prefix IS NOT needed for line magics.

Un comando que nos listará todos los comandos mágicos disponibles, y para que puedas conocer exactamente como funciona cada uno de ellos puedes recurrir a la introspección. Recuerda, basta con utilizar doble signo de interrogación (??).

Ejemplo.

In [10]: %alias??
 

 

 

 

 

 


 

 

 

 

Anaconda vs Python

 

Anaconda contra Python: Explorando sus diferencias

Conoce las principales diferencias entre Python y Anaconda en esta completa guía.
Actualizado 11 dic 2024  · 9 min de lectura
 

Si te estás iniciando en la programación con Python, te habrás encontrado con dos términos: Anaconda y Python. Aunque puedan parecer sinónimos, son bastante diferentes en su funcionalidad y finalidad.

En este artículo, exploraremos las principales diferencias entre Anaconda y Python y cuándo se utiliza cada uno de ellos.

 

TL;DR: Anaconda vs Python

  • Pitón: Un lenguaje de programación ligero utilizado para la programación de propósito general, con gestión de paquetes mediante pip y herramientas básicas de entorno como venv.
  • Anaconda: Una distribución de Python para la ciencia de datos y el aprendizaje automático, que incluye Python, bibliotecas populares, Jupyter Notebook y el gestor conda para facilitar la gestión de paquetes y entornos.

Utiliza Python para la programación general y Anaconda para los flujos de trabajo centrados en los datos.

Sigue leyendo para ver una comparación más detallada.

¿Qué es Python?

Si tienes curiosidad por saber más sobre Python, consulta nuestra guía completa - ¿Qué es Python? A continuación, hemos resumido los puntos clave.

Lenguaje de programación Python 

 

Python es un lenguaje de programación versátil, de alto nivel e interpretado que se utiliza ampliamente para diversas aplicaciones, como el desarrollo web, el análisis de datos, la inteligencia artificial, el aprendizaje automático y la informática científica.

Para ayudarte a entender mejor Python, aquí tienes nuestra hoja de trucos sobre Python:

 hoja de trucos python 

Características y ventajas de Python

Fácil de aprender y utilizar

Una de las principales ventajas de Python es su sencilla sintaxis.

Esto hace que sea más fácil para los principiantes aprender Python que otros lenguajes de programación. También tiene una gran biblioteca estándar que proporciona funciones listas para usar en diversas tareas, ahorrando tiempo y esfuerzo a los desarrolladores.

Plataforma independiente

Python es un lenguaje interpretado, lo que significa que puede funcionar en distintos sistemas operativos sin necesidad de modificar el código. Esto hace que sea muy versátil y portátil.

Lenguaje orientado a objetos

Python es compatible con la programación orientada a objetos (POO), que permite a los desarrolladores crear código reutilizable y construir aplicaciones complejas dividiéndolas en objetos más pequeños y manejables. Nuestro curso de Programación Orientada a Objetos en Python te proporcionará una buena base.

Gran apoyo comunitario

Python cuenta con una amplia y activa comunidad de desarrolladores que contribuyen a su crecimiento y desarrollo. Esta comunidad proporciona apoyo, recursos y herramientas tanto para principiantes como para desarrolladores experimentados.

¿Estás pensando en encontrar una buena comunidad de principiantes en Python? ¡Únete a nuestra Comunidad DataCamp Slack!

Amplias bibliotecas

Python tiene una amplia colección de bibliotecas y marcos de trabajo que proporcionan soluciones para diversas tareas.

Tales tareas incluyen:

Estas bibliotecas hacen que la programación en Python sea eficaz y cómoda.

¿Tienes curiosidad por saber más sobre algunas tareas comunes que son posibles con Python? Aquí tienes una hoja de trucos sobre cómo utilizar pandas en Python para manipular datos:

 Hoja de trucos sobre pandas


¿Qué es Anaconda?

Anaconda es una distribución de código abierto de los lenguajes de programación Python y R, que se utilizan para aplicaciones de ciencia de datos, aprendizaje automático e inteligencia artificial.

Incluye más de 250 paquetes populares de ciencia de datos y herramientas de gestión para simplificar la instalación y despliegue de paquetes.

Características y ventajas de Anaconda

Gestión de paquetes

Anaconda viene con su propio sistema de gestión de paquetes, entornos y dependencias llamado "conda".

Aquí tienes una útil hoja de trucos que te ayudará a iniciarte en el uso de conda:

Hoja de trucos Conda 

 

Soporte multiplataforma

Al igual que Python, Anaconda también es compatible con varias plataformas, lo que permite a los usuarios desarrollar y desplegar aplicaciones en distintos sistemas operativos sin cambiar el código.

Herramientas centradas en la ciencia de datos

Anaconda incluye populares herramientas de ciencia de datos e IDEs como Jupyter Notebook, Spyder y RStudio. Estas herramientas proporcionan un entorno interactivo de análisis y visualización de datos, lo que las convierte en la opción preferida entre los científicos de datos.

Colaboración sencilla

Anaconda permite a los usuarios compartir su código fácilmente y colaborar con otros a través de su plataforma basada en la nube Anaconda Cloud.

Anaconda Cloud 

Esto resulta cómodo para equipos o personas que trabajan en el mismo proyecto.

Diferencias entre Anaconda y Python

Aunque Anaconda y Python son lenguajes de programación utilizados con fines similares, existen algunas diferencias clave entre ellos.

1. Gestión de paquetes

Una gran diferencia entre Anaconda y Python son sus sistemas de gestión de paquetes. Mientras que Python utiliza pip para gestionar paquetes, Anaconda utiliza su propio sistema llamado "conda".

Conda ofrece funciones más avanzadas, como la creación de entornos aislados para distintos proyectos, lo que facilita la gestión de dependencias.

2. Configuración del entorno

Anaconda viene con un conjunto de paquetes y herramientas de ciencia de datos preinstalados, lo que facilita a los principiantes la rápida configuración de su entorno. Python, en cambio, requiere que los usuarios instalen manualmente las bibliotecas y herramientas necesarias.

3. Casos de uso e idoneidad

Mientras que Python es un lenguaje de uso general, Anaconda está más centrado en aplicaciones de ciencia de datos y aprendizaje automático. Por lo tanto, puede que no sea la mejor opción para los desarrolladores que trabajen en proyectos que no impliquen análisis de datos o computación científica.

Anaconda contra Python: Un resumen

Función Python Anaconda
Gestión de paquetes Utiliza pip para la gestión de paquetes Utiliza conda para la gestión de paquetes, entornos y dependencias
Soporte multiplataforma Disponible en varios sistemas operativos Disponible en varios sistemas operativos
Paquetes preinstalados Requiere la instalación manual de paquetes Viene con más de 250 paquetes de ciencia de datos preinstalados
Casos de uso adecuados Programación general Ciencia de datos, aprendizaje automático y computación científica
Herramientas de desarrollo Soporta varios IDEs como PyCharm, VSCode Incluye herramientas como Jupyter Notebook, Spyder, RStudio
Apoyo comunitario Comunidad grande y activa Sólida comunidad centrada en las aplicaciones de la ciencia de datos

 




Entradas recientes

¿Existen herramientas para RCA (Root Cause Analysis) en Python?

Fuente: Gemini IA.  Sí, existen librerías especializadas en Python para realizar análisis de causa raíz (Root Cause Analysis o RCA), especi...

Entradas Populares