¿Qué debo aprender en Python (excluyendo los conceptos básicos) para alcanzar los niveles intermedio, avanzado y maestro?

  • Expresiones de comprensión (lista, diccionario, conjunto); usándolos de manera efectiva (sugerencia: se pueden anidar y corresponden a las operaciones de mapa y filtro en FP)
  • Colecciones alternativas: tuplas con nombre, conjuntos congelados, diccionarios predeterminados y ordenados
  • Argumento y desempaquetado de parámetros
  • Expresiones y funciones del generador (se pueden anidar con yield from para componer cómputos complejos de transmisión)
  • Decoradores de funciones y clases; El patrón decorador en general.
  • Gestores de contexto
  • Metaclases
  • Aplicación de función parcial y coroutines, funciones lambda.
  • De hecho, todas las instalaciones disponibles en itertools y functools , además del map , filter y zip incorporados
  • Todo bajo esta pregunta: ¿Cuáles son algunos trucos geniales de Python?

… y, sí, básicamente estoy copiando la tabla de contenido de Programación en Python 3: Una introducción completa al lenguaje Python, excepto el enlace a la pregunta de Quora.

Alcanzar los niveles avanzado y maestro requeriría saber cuándo usarlos, cuáles exactamente, y cuándo atenerse a lo básico. Lamentablemente, esto no es algo que pueda aprender en Internet, o de cualquier libro, ya sea pagado o no.

Aprenda a escribir un servidor y cliente tcp / udp en python y configúrelos en su red local. En resumen, comunícate usando el terminal python.

Aprende a analizar páginas web en python.

aprenda acerca de la programación concurrente en Python, como cómo implementar subprocesos, procesos, bloqueos y comunicación entre procesos y sus eficiencias.

aprenda sobre las sutiles complejidades de Python, como el MRO (orden de resolución de métodos), la mutabilidad y cómo se comporta en las llamadas de función, los generadores, las funciones lambda, los argumentos, los kwargs para nombrar algunos …

También puedes ver a David Beazley. Tiene muchas conferencias sobre python avanzado, la mayoría de ellas están en python 3, pero deberías estar bien … también es el autor del libro de cocina de python.

También aprenda sobre uno de los marcos de trabajo de Python y cree aplicaciones web simples. Me refiero a que el objetivo final es construir productos correctamente.

Pd Voy a editar este Furthur cuando abra mi computadora portátil.

Conceptos básicos + :

  • Lista de Comprensiones
  • Mapa / Filtro / Reducir / Lambda
  • Desempaquetado de argumentos (función (* args, ** kwargs))
  • `zip ()` y otras funciones incorporadas.
  • expresiones regulares a través del módulo `re`

Habilidades intermedias:

  • Escribir una función recursiva y luego refactorizarla a iterativa (usando una pila como `deque`).
  • El uso de `super ()` y la manipulación del Orden de resolución de métodos (MRO) para modelos de herencia de orden superior.
  • Uso de colas junto con agrupaciones de trabajadores `threading` o` multiprocessing`
  • Escribir y usar generadores

Avanzado:

  • Escribe un administrador de contexto (una clase que permite el uso de `con el método () como foo:`)
  • Escribir y utilizar decoradores
  • Nuevo en 2016: escriba código asíncrono usando `async` y coroutines.

Habilidades maestras:

  • Escribir y utilizar metaclases.
  • `__builtins__` manipulación
  • Aprende cómo analizar y parchar la fuente de python durante el tiempo de ejecución utilizando el módulo del árbol de sintaxis de extracción (`ast`).
  • Escribiendo interfaces para bibliotecas C / libcffi.
  • Comprensión de la GIL (Global Interpreter Lock) y masterización de subprocesos.

He seguido mi propio camino para dominar los conceptos de python. Una cosa que debes recordar es que si tienes conocimiento de algún lenguaje de programación, créeme que será más fácil aprenderlo.

Piensa en ‘C’, ‘C ++’ o ‘Java’ o cualquier otro lenguaje de programación tiene la misma lógica pero difieren en la sintaxis. Así que aquí debe prestar atención a la sintaxis de otras cosas que puede hacer fácilmente.

Aquí puedes aprender python: tutorial de Python

Seguir el plan de estudios del punto tutoriales. Tienen tutoriales en python desde principiantes hasta avanzados.

Agradeciendote.

Nota: si encuentra algún problema, no dude en ponerse en contacto conmigo.

Recoge cualquier proyecto basado en framework y pruébalo. Por ejemplo, puedes probar Cherry Py o tornado o Sci Py ..
Google para varios frameworks de python que coincidan con su interés y aprenda a trabajar con ellos.
PS es solo un hecho: quora usa el marco de tornado python y algunos de sus otros servicios de backbend están basados ​​en python.

Un Python Master debería poder trabajar con el código fuente de los módulos principales y el código fuente del intérprete.

Piensa que un científico informático en Python puede ser un buen recurso para aprender Python si eres un principiante. Una vez que te sientas cómodo con lo básico del lenguaje, puedes tomar cualquier proyecto de código abierto y comenzar a trabajar en eso. Realmente te ayuda.

Familiarícese con los módulos en la biblioteca estándar y obtenga experiencia trabajando con bibliotecas de usuarios comunes como numpy, lxml, tornado y similares.