Cómo Aprender Un Nuevo Lenguaje De Programación Rápidamente
Apr 25, 20207 minutes read
El primer paso es averiguar su estilo único de aprendizaje
La gente a menudo se maravilla de la capacidad de un programador estrella para captar cualquier lenguaje extremadamente rápido. "Esta persona debe estar dotada", dirán. Esta persona debe ser buena en ciencias y matemáticas.
La verdad es que convertirse en un maestro del aprendizaje es una práctica. Cuanto más practiques aprender cualquier habilidad, más entenderás cómo aprender cualquier lenguaje de programación con la velocidad y la agilidad de un programador estrella.
Cada persona es diferente. La gente cree que debe haber un camino más corto para este problema de aprendizaje. Pero el problema de aprendizaje se adapta al tipo de pensador que eres. ¿Eres un pensador de abajo hacia arriba, un pensador de arriba hacia abajo, un aprendiz visual o un aprendiz auditivo? Usted es el arquitecto que puede diseñar su solución de aprendizaje. Estoy aquí simplemente para ayudarte a llegar más rápido.
Cuando empecé a programar hace más de 15 años, tuve que recoger coger 4 lenguajes de programación en seis meses para un proyecto que debía realizarse para finales de año. Mi carrera estaba en juego. Antes de que terminara ese año, no sólo aprendí estos cuatro lenguajes de programación, sino que también completé ese proyecto.
Cuando empecé mi carrera, fui a un programa de formación de postgrado donde durante seis semanas tuvimos que recoger todo el trabajo del curso de pregrado de varias partes de las finanzas: finanzas corporativas, productos de interés, productos de capital, etc. A duras penas pasé ese programa de entrenamiento porque hasta ese momento, no tenía ninguna educación financiera previa. Pero aprobé el programa.
¿Soy superdotado? No. ¿Soy un maestro del aprendizaje? No. Como crecí en un hogar donde no recibía amor a menos que actuara, la presión me permitió aprender este único truco que aplique una y otra vez.
El truco número 1 en el aprendizaje
He encontrado un truco que me funciona a través de la práctica y la presión. No me di cuenta de que había encontrado mi truco hasta que alguien me preguntó un día: "¿Recuerdas los libros que leíste de niño?" Yo respondí: "No. Pero, he interiorizado estos libros". Eran libros de ficción de los que esta persona hablaba.
Pero me di cuenta de que he interiorizado las luchas de los personajes y he aprendido de las luchas de los personajes. Aunque no recordaba los detalles del libro, no tuve que volver a leerlos porque he interiorizado las partes más importantes del libro.
¿Cómo haces para internalizar los conceptos más importantes?
Si estudias la llamada educación de los superdotados, te darás cuenta de que los superdotados son personas más sensibles que el promedio de las personas. La forma en que adquieren el conocimiento rápidamente se debe principalmente a su sensibilidad. Debido a que son sensibles a todo lo que se les presenta, pueden interiorizar el conocimiento más rápido que nadie.
Todos los que no somos superdotados podemos pretender que lo somos e implementar un método para internalizar conceptos. Este método nos permitirá aprender como una persona superdotada aprende. Podemos tardar más tiempo que la persona superdotada. Pero sin embargo, llegaremos más rápido que antes.
El método tiene que ser adaptado al tipo de aprendizaje que tienes: visual, auditivo, de lectura/escritura o kinestésico.
Puedes estar regado en unos cuantos tipos diferentes y estar en medio de los cuadrantes. Por ejemplo, yo soy un estudiante visual que ha aprendido a leer y escribir en la escuela. En el trabajo, debido a mi profesión de programador, me convertí en un estudiante kinestésico.
Al averiguar qué tipo de aprendiz eres, puedes sumergirte en el tipo de medios que te permitirán aprender mejor. Al sumergirte en el medio, aumentarás tu sensibilidad al tema. De esta manera es mucho más fácil interiorizar los conceptos.
Si eres un aprendiz visual, te encanta visualizar ideas y conceptos. Puedes crear mapas mentales de los conceptos. Soy un aprendiz visual. A menudo uso una pizarra para diagramar todos los componentes de los conceptos en mis libros de programación. También diagramo todos los componentes de los sistemas que estoy construyendo. Una vez que lo hago una vez, es más fácil para mí imprimir la imagen en mi memoria.
Herramientas para el aprendizaje: Videos de YouTube, entrenamiento orientado a listas, diagramas, mapas mentales
Ejercicios para recordar: crear mapas mentales, hacer módulos, crear diagramas de Visio
Aprendizaje auditivo
Si usted es un aprendiz auditivo, entonces es probable que aprenda escuchando a alguien hablar sobre el tema.
Herramientas para el aprendizaje: audiolibros, podcasts, videos TED, instrucción en el aula
Ejercicios para recordar: enseñar los conceptos a alguien más, codificar con un compañero y enseñarse unos a otros.
Aprendizaje de lectura y escritura
Si usted es un aprendiz de lectura/escritura, entonces es probable que aprenda leyendo libros de programación y tomando notas.
Herramientas para el aprendizaje: libros de programación, hacer listas, tomar notas
Ejercicios para recordar: escribir un blog sobre los conceptos aprendidos, crear listas de preguntas y respuestas
Aprendizaje kinestesico:
Si eres un aprendiz de kinestesico, entonces aprendemos mejor haciendo. Te gusta comprometerte en un aprendizaje que involucra la actuación física de lo que has aprendido.
Herramientas para el aprendizaje: proyectos de programación, grupos de estudio, competencias de programación
Ejercicios para recordar: rastrear a través de mapas mentales, codificar con diagramas de bloques de Visio, participar en diferentes proyectos de programación con un amigo
¿Cómo practicas los conceptos que has interiorizado?
Practicar los conceptos que acabas de aprender es tan importante como internalizarlos. En mi experiencia, la primera vez que internalizas algo, está en tu memoria a corto plazo. Para que lo recuerdes a largo plazo, debes practicar estos conceptos una y otra vez.
Aquí hay recursos donde puedes practicar los conceptos que has aprendido:
CodeChef - Este es un sitio web que contiene módulos de práctica y tiene concursos de programación. En particular para los codificadores de algoritmos, este es el sitio web para practicar lo que has aprendido.
Coderbyte - Este es un sitio web donde puedes resolver desafíos de programación y ver las soluciones de otras personas.
HackerRan- Este es un sitio web donde puedes practicar con desafíos de programación y aprender de los tutoriales.
CodinGame - Este es un sitio web donde puedes resolver desafíos de programación relacionados con los juegos en línea.
Practica trabajando en proyectos
Una vez que has tenido la práctica necesaria para dominar los conceptos, entonces estás listo para trabajar en los proyectos.
1. Crea un proyecto por lenguaje que muestre todos los conceptos importantes del lenguaje.
Por ejemplo, si usas Ruby/Rails, deberías intentar construir un sitio web; si estás aprendiendo SQL, deberías instalar y armar una base de datos; si estás aprendiendo data science, deberías analizar un conjunto de datos probando diferentes algoritmos con él.
2. Las entrevistas de código son la mejor práctica que existe.
Las entrevistas técnicas pueden ser agotadoras. La forma de dominar estas entrevistas es realmente verlo como una práctica para las grandes ligas. Puedes prepararte para ellas usando algunas fuentes de preparación de entrevistas, como Cracking the Coding Interview, LeetCode (practica la programación con un juez online), Gainlo (simulacro de entrevistas con profesionales), Glassdoor (practica las preguntas de entrevistas pasadas), y GeeksforGeeks (mira las preguntas resueltas).
Conclusión
Ahora sabes que convertirse en un maestro aprendiz es práctica. Al interiorizar los conceptos, cualquiera puede convertirse rápidamente en un maestro aprendiz de los lenguajes de programación. Al igual que una persona superdotada, si aumenta su sensibilidad en torno a los temas que aprende sumergiéndose en un medio de aprendizaje (por ejemplo, audio, visual, palabras, etc.), aprenderá más rápido que nunca.
Una vez que hayas aprendido los conceptos, podrás practicarlos a través de proyectos, entrevistas de código y concursos de programación. En poco tiempo, serás contratado como programador.
Analiza, prueba y reutiliza tu código con poco más que un símbolo @Si hay algo que hace que Python sea increíblemente exitoso, eso sería su legibilidad. Todo lo demás depende de eso: si el código es ilegible, es difícil de mantener. Tampoco es fácil para los principiantes: un novato que se aturda con un código ilegible no intentará escribir el suyo propio algún día.Python ya era legible y amigable para los principiantes antes de que aparecieran los decoradores. Pero a medida que el lenguaje comenzó a ser utilizado para más y más cosas, los desarrolladores de Python sintieron la necesidad de más y más características, sin desordenar el paisaje y hacer el código ilegible.Los decoradores son un ejemplo de una característica perfectamente implementada. Lleva un tiempo entenderlos, pero vale la pena. Cuando empieces a usarlos, notarás cómo no complican demasiado las cosas y hacen que tu código sea limpio y elegante.Antes que nada: funciones de orden superiorEn pocas palabras, los decoradores son una forma clara de manejar las funciones de orden superior. Así que vamos a verlos primero.Funciones que devuelven funcionesDigamos que tienes una función, greet() - que saluda a cualquier objeto que le pases. Y digamos que tienes otra función, simon() - que inserta "Simón" donde sea apropiado. ¿Cómo podemos combinar las dos? Piénsalo un momento antes de mirar a continuacióndef greet(name):
return f"Hello, {name}!"
def simon(func):
return func("Simon")
simon(greet)La salida es "¡Hola, Simon!". Espero que tenga sentido para ti.Por supuesto, podríamos haber llamado simplemente a greet("Simon"). Sin embargo, la cuestión es que podríamos querer poner "Simón" en muchas funciones diferentes. Y si no usamos "Simón" sino algo más complicado, podemos ahorrar un montón de líneas de código empaquetándolo en una función como simon().Funciones dentro de otras funcionesTambién podemos definir funciones dentro de otras funciones. Esto es importante porque los decoradores también lo hacen. Sin los decoradores se ve así:def respect(maybe):
def congrats():
return "Congrats, bro!"
def insult():
return "You're silly!"
if maybe == "yes":
return congrats
else:
return insultLa función respect() devuelve una función; respect("yes") devuelve la función congrats, respect("brother") (o algún otro argumento en lugar de "brother") devuelve la función insultos. Para llamar a las funciones, introduce respect("sí")() y respect("hermano")(), como una función normal.Lee también: Python Books You Must Read in 2020¿Lo tienes? ¡Entonces ya tienes todo listo para los decoradores!Code is beautifully nerdy. Image by author.El ABC de los decoradores de PythonFunciones con un símbolo @Probemos una combinación de los dos conceptos anteriores: una función que toma otra función y define una función. ¿Suena alucinante? Considera esto:def startstop(func):
def wrapper():
print("Starting...")
func()
print("Finished!")
return wrapper
def roll():
print("Rolling on the floor laughing XD")
roll = startstop(roll)La última línea asegura que ya no necesitamos llamar a startstop(roll)(); con roll() será suficiente. ¿Sabes cuál es la salida de esa llamada? ¡Pruébalo tú mismo si no estás seguro!Ahora, como una muy buena alternativa, podríamos insertar esto justo después de definir startstop():@startstop
def roll():
print("Rolling on the floor laughing XD")Esto hace lo mismo, pero pega roll() a startstop() al principio.Flexibilidad añadida¿Por qué es útil? ¿No consume exactamente las mismas líneas de código que antes?En este caso, sí. Pero una vez que estás tratando con cosas un poco más complicadas, se vuelve realmente útil. Por una vez, puedes mover todos los decoradores (es decir, la parte def startstop() de arriba) a su propio módulo. Es decir, los escribes en un archivo llamado decorators.py y escribes algo como esto en tu archivo principal:from decorators import startstop
@startstop
def roll():
print("Rolling on the floor laughing XD")En principio, puedes hacerlo sin usar decoradores. Pero de esta manera se hace la vida más fácil porque ya no tienes que lidiar con funciones anidadas y con el interminable conteo de corchetes.También puedes anidar decoradores:from decorators import startstop, exectime
@exectime
@startstop
def roll():
print("Rolling on the floor laughing XD")Ten en cuenta que aún no hemos definido exectime(), pero lo verás en la siguiente sección. Es una función que puede medir el tiempo que tarda un proceso en Python.Este anidamiento equivaldría a una línea como estaroll = exectime(startstop(roll))¡Comienza el conteo de corchetes! Imagina que tienes cinco o seis de esas funciones anidadas unas dentro de otras. ¿No sería la notación del decorador mucho más fácil de leer que este lío anidado?Incluso puedes usar decoradores en funciones que aceptan argumentos. Ahora imagina unos cuantos argumentos en la línea anterior y tu caos estaría completo. Los decoradores lo hacen más limpio y ordenado.Lee también: How to Get a Job With PythonFinalmente, puedes incluso añadir argumentos a tus decoradores - como @mydecorator(argument). Sí, puedes hacer todo esto sin decoradores. Pero entonces te deseo que te diviertas entendiendo tu código sin decoradores cuando lo releas dentro de tres semanas...Decorators make everything easier. Image by author.Aplicaciones: donde los decoradores cortan la nataAhora que espero haberte convencido de que los decoradores te hacen la vida tres veces más fácil, veamos algunos ejemplos clásicos en los que los decoradores son básicamente indispensables.Medir el tiempo de ejecuciónSupongamos que tenemos una función llamada waste time() y queremos saber cuánto tarda. Pues bien, ¡sólo hay que utilizar un decorador!import time
def measuretime(func):
def wrapper():
starttime = time.perf_counter()
func()
endtime = time.perf_counter()
print(f"Time needed: {endtime - starttime} seconds")
return wrapper
@measuretime
def wastetime():
sum([i**2 for i in range(1000000)])
wastetime()Una docena de líneas de código y ya está. Además, puedes usar measuretime() en tantas funciones como quieras.Ralentizar el códigoA veces no quieres ejecutar el código inmediatamente, sino esperar un tiempo. Ahí es donde un decorador de ralentización resulta útil:import time
def sleep(func):
def wrapper():
time.sleep(300)
return func()
return wrapper
@sleep
def wakeup():
print("Get up! Your break is over.")
wakeup()Llamar a wakeup() hace que te tomes un descanso de 5 minutos, tras el cual tu consola te recuerda que debes volver al trabajo.Lee también: Building A Linear Regression Model With Python To Predict Retail Customer SpendingPruebas y depuraciónDigamos que tienes un montón de funciones diferentes que llamas en diferentes etapas, y estás perdiendo la visión general sobre lo que se está llamando cuando. Con un simple decorador para cada definición de función, puedes aportar más claridad. Así:def debug(func):
def wrapper():
print(f"Calling {func.__name__}")
return wrapper
@debug
def scare():
print("Boo!")
scare()Hay un ejemplo mucho más elaborado aquí. Ten en cuenta, sin embargo, que para entender ese ejemplo, tendrás que comprobar cómo decorar funciones con argumentos. Aun así, ¡vale la pena leerlo!Reutilización de códigoEsto no hace falta decirlo. Si has definido una función decorator(), puedes esparcir @decorator por todo tu código. Para ser honesto, no creo que haya nada más simple que eso.Manejo de los inicios de sesiónSi tienes funcionalidades a las que sólo se puede acceder si un usuario está conectado, también es bastante fácil con los decoradores. Te remitiré al ejemplo completo para que lo consultes, pero el principio es bastante sencillo: primero defines una función como login_required(). Antes de cualquier definición de función que necesite el inicio de sesión, pones @login_required. Bastante simple, diría yo.Azúcar sintáctico - o por qué Python es tan dulceNo es que no sea crítico con Python o que no utilice lenguajes alternativos cuando sea apropiado. Pero hay un gran atractivo en Python: es muy fácil de digerir, incluso cuando no eres un informático de formación y sólo quieres hacer que las cosas funcionen.Si C++ es una naranja, Python es una piña: igualmente nutritiva, pero tres veces más dulce. Los decoradores son sólo un factor en la mezcla.Pero espero que hayas llegado a ver por qué es un factor tan dulce. ¡Azúcar sintáctico para añadir algo de placer a tu vida! Sin riesgos para la salud, salvo tener los ojos pegados a una pantalla.¡Te deseo mucho código dulce!Lee también: How to Use Python Datetimes Correctly?
Datetime es básicamente un objeto python que representa un punto en el tiempo, como años, días, segundos, milisegundos. Esto es muy útil para crear nuestros programas.El módulo datetime proporciona clases para manipular fechas y horas de forma simple y compleja. Mientras que la aritmética de la fecha y la hora está soportada, la aplicación se centra en la extracción eficiente de atributos para formatear y manipular la salidaVamos a importar el módulo de Python
Llevo más de 10 años codificando en Python. Hubo un tiempo en el que pensé que lo sabía todo, lo que era una clara señal de que me estaba volviendo complaciente.Entonces decidí investigar un poco sobre las mejoras de Python. Esas versiones 3.6, 3.7, 3.8 de Python no están ahí por nada, ¿verdad?Después de revisar las notas de la versión, encontré estos trucos que me gustaría compartir con ustedes.Al leer este artículo, aprenderás:Cómo formatear enteros grandes de forma más claraUna mejor manera de trabajar con las rutas de los archivosLa forma correcta de formatear cadenas1. Formateo de big integersUsing Underscores in Numeric Literals. Image by Roman OracA partir de la versión 3.6 de Python se pueden utilizar guiones bajos para facilitar la lectura de los números. Ver PEP 515 para más detalles.Veamos un ejemplo:a = 1000000000
# Is variable a billion or 100 millions?
# Let's use underscores to make it easier to read
a = 1_000_000_000
# You can group numbers as you like
b = 1_0_9_0También funciona con direcciones hexadecimales y bits de agrupación.# grouping hexadecimal addresses by words
addr = 0xCAFE_F00D
# grouping bits into nibbles in a binary literal
flags = 0b_0011_1111_0100_1110Lea también: ¿Por Qué Los Decoradores En Python Son Pura Genialidad?2. PathlibPhoto by Alice Donovan Rouse on UnsplashTrabajar con rutas puede ser un reto, especialmente si tu código necesita ejecutarse en múltiples sistemas operativos.Por suerte para nosotros, la biblioteca estándar de Python tiene pathllib.Veamos un ejemplo:from pathlib import Path
path = Path("some_folder")
print(path)
# output: some_folder
# We can add more subfolders in a readable way
path = path / "sub_folder" / "sub_sub_folder"
print(path)
# output: some_folder/sub_folder/sub_sub_folder
# make path absolute
print(path.resolve())
# output: /Users/r.orac/some_folder/sub_folter/sub_sub_folderA pesar de utilizar el signo / como separador para concatenar rutas, pathlib lo hace agnóstico al sistema operativo, lo que significa que también funcionará en el sistema operativo Windows.Lea también: Usando Python y Pandas Datareader Para Analizar Datos Financieros3. Simplificar el formato de las cadenasFormato de cadenas f en Python. Imagen de Roman OracEstoy acostumbrado a utilizar el formato de cadena de la vieja escuela en Python:person = 'Roman'
exercise = 0
print("%d-times %s exercised during corona epidemic" % (exercise, person))
# output
# 0-times Roman exercised during corona epidemicHasta hace poco, no sabía que había una forma mejor (más moderna) de formatear cadenas en Python.En Python 3.6, PEP 498 introduce la Interpolación Literal de Cadenas, que simplifica el formato de las cadenas.Podemos reescribir el ejemplo anterior a:person = 'roman'
exercise = 0
print(f"{exercise}-times {person} exercised during corona epidemic")
# output
# 0-times Roman exercised during corona epidemicUna cadena prefijada con f se conoce como fstring.Las cadenas f admiten incluso operaciones matemáticas:print(f"{exercise+1}-times {person} exercised during corona epidemic")
# Output
# '1-times roman exercised during corona epidemic'Pero no hice el ejercicio durante la epidemia de la corona por lo que añadir +1 en la fstring sería simplemente una mentira 😂¿Qué pasa con el formato de los valores flotantes?f = 0.333333
print(f"this is f={f:.2f} rounded to 2 decimals")
# Output
this is f=0.33 rounded to 2 decimalsLea también: ¿Cómo Usar Correctamente Los Datetimes En Python?ConclusiónEstos trucos de Python harán que tu código sea más conciso y que la codificación sea más agradable.Muchos desarrolladores de Python no conocen estos trucos - tú ya no eres uno de ellos.Antes de irteSígueme en Twitter, donde tuiteo regularmente sobre Ciencia de Datos y Aprendizaje Automático.Lea también: Entendiendo El Módulo Collections de Python
En este nuevo post queremos hablar de las extensiones más útiles de Python para Visual Studio Code. Visual Studio Code es un entorno de desarrollo integrado creado por Microsoft para Windows, Linux y macOS. Entre sus características se encuentran la depuración, el resaltado de sintaxis, la finalización inteligente de código, los fragmentos, la refactorización de código y Git integrado. Los usuarios pueden cambiar el tema, los atajos de teclado, las preferencias e instalar extensiones que añaden funcionalidad adicional.Precisamente vamos a hablar sobre las extensiones que puedes instalar para VS. Aquí una lista de nuestras preferidasPuedes leer más artículos de Data Science en español aquí 1- PythonLink: https://github.com/Microsoft/vscode-pythonExtensión de Python para Visual Studio CodeUna extensión de Visual Studio Code con un rico soporte para el lenguaje Python (para todas las versiones activamente soportadas del lenguaje: >=3.6), incluyendo características como IntelliSense (Pylance), linting, depuración, navegación de código, formateo de código, refactorización, explorador de variables, explorador de pruebas, ¡y más!NOTA: El soporte en la web -- por ejemplo, github.dev -- es limitado.Extensiones instaladasLa extensión Python instalará automáticamente las extensiones Pylance y Jupyter para ofrecerte la mejor experiencia al trabajar con archivos Python y notebooks Jupyter. Sin embargo, Pylance es una dependencia opcional, lo que significa que la extensión de Python seguirá siendo totalmente funcional si no se instala. También puedes desinstalarla a expensas de algunas características si estás usando un servidor de idiomas diferente.2- Python IndentLink: https://github.com/kbrose/vsc-python-indentSirve para corregir la sangría de Python en Visual Studio Code. Cómo funcionaCada vez que presione la tecla Enter en un contexto de Python, esta extensión analizará su archivo de Python hasta la ubicación de su cursor, y determinará exactamente cuánto debe sangrar la siguiente línea (o dos en el caso de sangrías colgantes) y cuánto deben desangrarse las líneas cercanas.Hay tres casos principales a la hora de determinar la sangría correcta. Revisar la documentación aqui: https://github.com/kbrose/vsc-python-indent3- Python Doctring GeneratorLink: https://github.com/NilsJPWerner/autoDocstringExtensión de Visual Studio Code para generar rápidamente docstrings para funciones python.CaracterísticasGenera rápidamente un fragmento de docstring que puede ser tabulado.Elija entre varios tipos de formatos de docstrings.Infiere los tipos de parámetros a través de pistas de tipo pep484, valores por defecto y nombres var.Soporte para args, kwargs, decoradores, errores y tipos de parámetros.Formatos DocstringGoogle (por defecto)docBlockrNumpySphinxPEP0257 (próximamente)UsoEl cursor debe estar en la línea directamente debajo de la definición para generar un docstring completo auto-pobladoPulsa enter después de abrir el docstring con comillas triples (""" o ''')Atajo de teclado: ctrl+mayús+2 o cmd+mayús+2 para macSe puede cambiar en Preferencias -> Atajos de teclado -> extension.generateDocstringComando: Generar DocstringMenú del botón derecho: Generar DocstringLea también: 4 Funciones de Python Pandas Imprescindibles Para el Análisis de Series Temporales4- Python ExtendedLink: https://github.com/tushortz/vscode-Python-ExtendedPython Extended es un fragmento de vscode que facilita la escritura de códigos en python proporcionando opciones de finalización junto con todos los argumentos.UsoEjecute vscode y en un archivo python, escriba el nombre del método a completar y presione tab o enter en la selección.Cómo instalarAbra vscode. Pulse F1, busque "ext install" seguido del nombre de la extensión, en este caso "ext install Python Extended" sin el ">". O si prefieres ">ext install", pulsa enter, busca "Python Extended".Puedes leer más artículos de Data Science en español aquí 5- Python PreviewLink: https://github.com/dongli0x00/python-previewUna extensión de Visual Studio Code con soporte de vista previa de depuración para el lenguaje Python.RequisitosInstale una versión de Python 3.6 o Python 2.7. Asegúrese de que la ubicación de su intérprete de Python está incluida en su variable de entorno PATH.Es mejor instalar la extensión de Python para el Intellisense de Python6- AREPL for PythonLink: https://github.com/almenon/arepl-vscodeAREPL evalúa automáticamente el código python en tiempo real mientras usted escribe.UsoEn primer lugar, asegúrese de que tiene instalado python 3.7 o superior.Abra un archivo de python y haga clic en el gato en la barra superior a la derecha para abrir AREPL. Puede hacer clic en el gato de nuevo para cerrar.O ejecute AREPL a través del comando de búsqueda: control-mayúsculas-po utilizar los atajos: control-mayúsculas-a (documento actual) / control-mayúsculas-q (nuevo documento)CaracterísticasEvaluación en tiempo real: no es necesario ejecutar - AREPL evalúa su código automáticamente. Puede controlar esto (o incluso desactivarlo) en los ajustes.Visualización de variables: El estado final de sus variables locales se muestra en un formato JSON colapsable.Visualización de errores: En el momento en que cometes un error se muestra un error con la traza de la pila.Ajustes: AREPL ofrece muchos ajustes para adaptarse a su experiencia de usuario. Personaliza el aspecto, el tiempo de rebote, las opciones de python y mucho más.Lea también: 3 Trucos De Python Que Mejorarán Tu Código7- Python PathLink: https://github.com/mgesbert/vscode-python-pathEsta extensión añade un conjunto de herramientas que ayudan a generar sentencias de importación internas en un proyecto python.Características"Copy Python Path" es accesible desde:Linea de comandoMenú contextual del exploradorMenú contextual del editorMenú contextual del título del editorPuedes leer más artículos de Data Science en español aquí 8- Python Test ExplorerLink: https://github.com/kondratyev-nv/vscode-python-test-adapterEsta extensión le permite ejecutar sus pruebas de Python Unittest, Pytest o Testplan con la interfaz de usuario de Test Explorer.Cómo empezarInstale la extensiónConfigure Visual Studio Code para que descubra sus pruebas (consulte la sección Configuración y la documentación del marco de pruebas de su elección:Documentación de UnittestDocumentación de PytestDocumentación de TestplanAbra la barra lateral de la vista de pruebasEjecutar sus pruebas mediante el icono Ejecutar en el Explorador de PruebasCaracterísticasMuestra un Explorador de Pruebas en la vista de pruebas en la barra lateral de VS Code con todas las pruebas y suites detectadas y su estadoPráctico informe de errores durante la detección de pruebasDepuración de Unittest, Pytest y TestplanMuestra el registro de una prueba fallida cuando se selecciona la prueba en el exploradorReejecución de pruebas al guardarlasSoporta espacios de trabajo multi-rootAdmite los marcos de pruebas Unittest, Pytest y Testplan y sus complementos9- Python SnippetsLink: https://github.com/ylcnfrht/vscode-python-snippet-packUn paquete de fragmentos para hacer más productivo el trabajo con python Este paquete de fragmentos contiene todos los métodos de python que se indican a continuacióntodos los fragmentos incorporados de python y contiene al menos un ejemplo para cada métodotodos los fragmentos de cadenas de python contienen al menos un ejemplo para cada métodotodos los fragmentos de listas de python contienen al menos un ejemplo para cada métodotodos los fragmentos de conjuntos de python contienen al menos un ejemplo para cada métodotodos los fragmentos de tuplas en python contienen al menos un ejemplo para cada métodotodos los fragmentos de diccionario de python contienen al menos un ejemplo para cada métodoY contiene muchos otros fragmentos de código (como if/else, for, while, while/else, try/catch, file process yfragmentos de clases y ejemplos de clases para oop (polimorfismo, encapsulación, herencia, etc.)Si no usas un método no te preocupes esta extensión contiene un montón de ejemplos de código para cada método de pythonEsta extensión no es sólo un fragmento de código, sino que también será útil para aprender el lenguaje de programación python.Aprenderás todos los métodos de python con un montón de ejemplos de códigoPor ejemplo, si usted quiere usar el método de reemplazo de cadena, sólo tiene que utilizar .replacePero si usted no sabe cómo utilizar el método de reemplazo a continuación, utilice string.replace =>10- JupyterLink: https://github.com/Microsoft/vscode-jupyterUna extensión de Visual Studio Code que proporciona soporte básico de notebooks para los kernels de lenguaje que son compatibles con Jupyter Notebooks hoy en día. Muchos kernels de lenguaje funcionarán sin ninguna modificación. Para habilitar características avanzadas, pueden ser necesarias modificaciones en las extensiones de lenguaje de VS Code.Soporte de notebooksLa Extensión Jupyter utiliza el soporte de cuaderno incorporado de VS code. Esta interfaz ofrece una serie de ventajas a los usuarios de cuadernos:Soporte inmediato de la amplia gama de funciones básicas de edición de código de VS Code, como la salida en caliente, la búsqueda y el reemplazo, y el plegado de código.Extensiones del editor como VIM, coloración de corchetes, linters y muchas más están disponibles mientras se edita una celda.Profunda integración con el banco de trabajo general y con las funciones basadas en archivos de VS Code, como la vista de esquema (tabla de contenidos), las migas de pan y otras operaciones.Tiempos de carga rápidos para los archivos Jupyter notebook (.ipynb). Cualquier archivo de cuaderno se carga y renderiza lo más rápidamente posible, mientras que las operaciones relacionadas con la ejecución se inicializan entre bastidores.Incluye una herramienta de diferencias para cuadernos, que facilita la comparación y la visualización de las diferencias entre las celdas de código, los resultados y los metadatos.Extensibilidad más allá de lo que proporciona la extensión Jupyter. Las extensiones ahora pueden añadir su propio lenguaje o tiempo de ejecución específico a los cuadernos, como los cuadernos interactivos de .NET y GatherAunque la extensión de Jupyter viene con un amplio conjunto de los renderizadores más utilizados para la salida, el mercado admite renderizadores personalizados instalables para que el trabajo con tus cuadernos sea aún más productivo. Para empezar a escribir los tuyos propios, consulta la documentación de la api de renderizadores de VS Code.Puedes leer más artículos de Data Science en español aquí ConclusiónExisten muchas extensiones que puedes usar con tu Visual Studio Code, y decidir cual usar pasará por hacer pruebas, revisar utilidades, casos de uso y demás con el fin de hacer tu trabajo mas sencillo mientras codeas!Lea también: ¿Por Qué Los Decoradores En Python Son Pura Genialidad?
Daniel Morales
Apr 25, 2020
Join our private community in Discord
Keep up to date by participating in our global community of data scientists and AI enthusiasts. We discuss the latest developments in data science competitions, new techniques for solving complex challenges, AI and machine learning models, and much more!