¿Cómo aprender Python?
En China, Douban ha utilizado Python como lenguaje básico para el desarrollo web desde el principio. Toda la arquitectura de Zhihu también se basa en el lenguaje Python, lo que hace que el desarrollo web se desarrolle muy bien en China.
Aunque Python no es actualmente la primera opción para el desarrollo web, siempre ha ocupado una posición que no se puede ignorar. Hay varios marcos web en Python, ya sean micromarcos simples y de libre combinación o marcos MVC a gran escala con funciones completas, que también son muy ventajosos en proyectos web que requieren un desarrollo ágil. Los servicios web a gran escala proporcionados por Python se utilizan ampliamente (o se han utilizado ampliamente), incluidos Zhihu, Douban, Dropbox y otros sitios web. Junto con las características de "pegamento" del propio Python, cuando se requieren cálculos de nivel de rendimiento a gran escala, es fácil integrar otros lenguajes manteniendo la portabilidad y la velocidad del desarrollo web.
Además, hay una gran cantidad de módulos "listos para usar" en Python para conectarse a otros sitios web y otras funciones relacionadas. Si desea desarrollar una función relacionada con la cuenta oficial de WeChat, paquetes como WeChat-sdk/weixin-python pueden evitar que preste casi ninguna atención a los detalles de varias interacciones del servidor mencionadas en el documento, o a la implementación de funciones.
Actualmente, existen dos pilas de tecnología en el desarrollo web Python en China:
(1) Django
Django es un marco de desarrollo web ágil y avanzado. Si aprende cómo, podrá crear un sitio web en poco tiempo. Por supuesto, Ruby on Rails basado en Ruby es obviamente más rápido que el sitio web, pero Django tiene la ventaja de un rendimiento excelente y es más adecuado para escenarios de aplicación de sitios web nacionales. Pinterest, una conocida comunidad de imágenes extranjera, también se desarrolló basándose en Django en sus inicios y sufrió el impacto del rápido crecimiento de usuarios. Por lo tanto, si desea desarrollar rápidamente un sitio web y tener en cuenta los requisitos de llamada API del cliente de la aplicación, puede confiar en Django.
(2) Flask
En comparación con Django, Flask es un marco web liviano. La mayor ventaja de Flask es su rendimiento superior y es adecuado para desarrollar servicios API en segundo plano con clientes móviles. Los servicios Restful API basados en Flask son muy populares en China y la demanda también es muy grande. Empresas conocidas como Baidu, NetEase, Xiaomi, Momo, etc. han implementado aplicaciones basadas en Flask. Por supuesto, si desea crear un sitio web tradicional, se recomienda utilizar Django. Flask tiene las ventajas de backend y API, por lo que no es adecuado para crear un sitio web con todas las funciones.
2 rastreadores web
Los rastreadores web son un escenario común en Python. A nivel internacional, Google utilizó desde el principio el lenguaje Python como base para los rastreadores web, lo que promovió la aplicación y el desarrollo del lenguaje Python. En el pasado, mucha gente en China utilizaba coleccionistas para buscar contenido en línea. Recopilar información en línea usando Python ahora es mucho más fácil que antes.
Python ha acumulado muchas herramientas a este respecto, ya sean solicitudes para simular solicitudes HTTP, PyQuery/BeautifulSoup para analizar HTML DOM, Scrapy para automatizar tareas de rastreo distribuidas o varios ORM para simplificar el acceso a la base de datos. Python uno de los lenguajes preferidos para la captura de datos. Especialmente el análisis y cálculo de datos después del rastreo es el área en la que Python es mejor y es muy fácil de integrar. El marco de rastreo web actualmente popular en Python es scrapy, que es muy poderoso.
3 Inteligencia artificial y aprendizaje automático
La inteligencia artificial es una dirección muy popular ahora, y el auge de la IA hace que el futuro del lenguaje Python esté lleno de potencial ilimitado. La mayoría de los marcos de IA influyentes lanzados ahora están implementados en Python. ¿Por qué?
Porque Python es lo suficientemente dinámico y tiene suficiente rendimiento, que son las características técnicas que requiere la tecnología de IA.
Por ejemplo, algunas bibliotecas de aprendizaje profundo basadas en Python, sitios web orientados al aprendizaje profundo, el aprendizaje automático y el procesamiento del lenguaje natural se implementan básicamente a través de Python. La mayoría de los marcos de herramientas para el aprendizaje automático, especialmente el ahora popular aprendizaje profundo, proporcionan interfaces Python. Python siempre ha tenido una buena reputación en el campo de la informática científica. Su sintaxis concisa y clara y sus ricas herramientas informáticas son muy apreciados por los desarrolladores en este campo.
Mucho antes de que el aprendizaje profundo y Tensorflow se hicieran populares, existía scikit-learn en Python, que puede completar fácilmente casi todos los modelos de aprendizaje automático. Se pueden descargar unas pocas líneas simples de código desde un conjunto de datos clásico para construir un modelo. Con herramientas como pandas y matplotlib, se puede ajustar fácilmente.
Los marcos de aprendizaje profundo como Tensorflow, PyTorch, MXNet y Keras han ampliado enormemente las posibilidades del aprendizaje automático. Usar Keras para escribir una red de aprendizaje profundo para el reconocimiento de dígitos escritos a mano solo requiere docenas de líneas de código. Con la ayuda de la implementación subyacente, se pueden usar fácilmente una gran cantidad de recursos, incluidas las GPU, para completar el trabajo.
Vale la pena mencionar que no importa qué marco, Python solo se usa como lenguaje de descripción de front-end y los cálculos reales se implementan a través del C/C subyacente. Python puede introducir y utilizar fácilmente proyectos y bibliotecas C/C, ampliando así su funcionalidad y rendimiento. En cálculos a tan gran escala, una razón importante por la que Python se usa ampliamente en el campo del aprendizaje automático es para permitir a los desarrolladores prestar más atención a la lógica y liberarse de trabajos complejos como la asignación de memoria.
4 Análisis y procesamiento de datos
Python tiene un entorno ecológico completo para el análisis y procesamiento de datos. Hay módulos maduros en Python para computación distribuida, visualización de datos y operaciones de bases de datos involucradas en el análisis de "grandes datos". Para Hadoop-MapReduce y Spark, puede usar Python directamente para completar la lógica de cálculo. Esto es muy conveniente tanto para los científicos como para los ingenieros de datos.
5 Gadgets para la operación y mantenimiento del servidor
Python también es muy importante para la operación y mantenimiento del servidor. Actualmente, casi todas las distribuciones de Linux tienen sus propios intérpretes de Python, por lo que usar scripts de Python en servidores Linux para la implementación de archivos por lotes y ajustes operativos se ha convertido en una muy buena opción. Python también contiene muchas herramientas convenientes, desde paramiko que regula ssh/sftp, hasta supervisor que monitorea servicios, herramientas de creación como bazel e incluso herramientas de administración de paquetes C como conan. Python proporciona un conjunto completo de herramientas. Sobre esta base, combinado con la Web, será muy sencillo desarrollar herramientas que faciliten la operación y el mantenimiento.
Lo que es más interesante es que los desarrolladores de la comunidad Python también han creado kits de herramientas de desarrollo como itchat. Puede utilizar WeChat para administrar servidores o el funcionamiento de varios servicios. Piénselo. Un robot WeChat puede informar el estado de ejecución del servidor o programa cuando ocurre una excepción en un momento y lugar determinados todos los días, e incluso incluye gráficos dibujados por matplotlib/seaborn. Puede completar el ajuste del servidor con claridad. enviándole una frase sencilla.
Si quieres saber más, puedes añadir una falda de pingüino a tus zapatos. Los tres primeros son 227, el del medio 435 y los tres inferiores son 450. Puede compartir su experiencia de forma gratuita y utilizar materiales de vídeo para explicar el mercado.
6 programas de escritorio
Python también se puede utilizar para el desarrollo de software de escritorio (como texto sublime, etc.) e incluso para el desarrollo móvil (ver kivy). Python es simple y conveniente, y su entorno completo de herramientas puede reducir en gran medida la carga de los desarrolladores. El famoso marco de interfaz de usuario QT tiene PyQT, una versión de implementación del lenguaje Python. Python es simple y fácil de usar, QT es elegante, puede desarrollar fácilmente programas de escritorio con interfaces complejas e implementar fácilmente funciones multiplataforma.
7 aplicaciones multimedia
Puedes usar PIL, Piddle, ReportLab y otros módulos de Python para procesar imágenes, sonidos, videos, animaciones, y también puedes usar Python para generar gráficos dinámicos y gráficos de análisis estadístico. Además, el módulo PyOpenGl se puede utilizar para escribir escenas 3D de forma muy rápida y eficiente.