Este artículo está dirigido principalmente a aquellos que quieran aprender Python desde cero . Este artículo fue compilado por @Shijiangge ([email protected] QQ:499065469) basándose en la recopilación de datos de Internet. Gracias a Internet y a todos por compartir. ¡Gracias! Este artículo se actualizará continuamente.
"¿Cómo utilizar bien el motor de búsqueda de Google?" 》 Preguntas y respuestas sobre Zhihu @ Cui Kai
"Diez mejores habilidades de búsqueda inteligente en Google" por Xueying Lanfeng
"Cómo utilizar bien Google" por Li Xiaolai
Lectura recomendada "La sabiduría del cuestionamiento" por-Woodpecker Community
¡"La sabiduría del cuestionamiento" debe leerse hasta el final!
Haz clic para abrir el enlace a la documentación oficial de Python. Si tu inglés no es bueno, no lo leas por ahora. Definitivamente debes mejorar tu aprendizaje de inglés en el futuro;).
Recomiendo "Cómo pensar como un informático", que corresponde a la versión china de "Python Learning Notes - Pi Daqing", que es muy adecuada para empezar desde cero.
Recomendado ["Práctica de programación de Python"] (http://book.douban.com/subject/7059900/)
Recomendar "Tutorial conciso de Python"
Recomendar "Aprende Python de la manera más difícil"
Recomendar el "Tutorial básico de Python"
Tutorial introductorio recomendado de Python: por Liao Xuefeng
Tutorial: aprende Python en 10 minutos
Lectura del código fuente de solicitudes recomendadas
"Python Advanced" (versión china intermedia de Python)
Preguntas y respuestas de Zhihu : ¿Cuáles son los libros introductorios clásicos sobre Python?
Preguntas y respuestas de V2EX : los estudiantes de artes liberales quieren aprender Python
Tutorial rápido de Python
El curso abierto del MIT "Introducción a la programación y la informática" es un curso abierto ofrecido por NetEase para principiantes.
Introducción al curso Este curso es adecuado para estudiantes que tienen poca o ninguna experiencia en programación . Está dedicado a hacer que los estudiantes comprendan el papel de las computadoras en la resolución de problemas y ayudar a los estudiantes, independientemente de su especialización , a poder completar pequeños programas útiles con Goal. confianza.
Aunque no soy un experto en Python, no tengo ningún conocimiento básico. Antes de eso, solo conocía software como PS y PPT.
Si su objetivo es convertirse en programador, consulte el programa de estudios.
Si solo desea aprender programas, comprender la tecnología y resolver problemas laborales, puede consultar mi método:
Encuentre un libro introductorio adecuado, léalo aproximadamente una vez, cicle, juzgue, categorías de uso común y comprenda (sáltelo si es demasiado difícil)
El "Libro de cocina de Python" es bueno para hacer algunos ejercicios simples, comparar cadenas, leer fechas, etc. (Si es demasiado difícil y aburrido, sáltelo nuevamente. Mantener el interés es lo más importante. Si no lo sabe, puede puedo aprenderlo de nuevo más tarde)
Únase al grupo de discusión de Python con una actitud amigable y una sonrisa (muy importante, para que los expertos corrijan pacientemente su sentido común equivocado). Hay muchos problemas pequeños que han estado enredados durante mucho tiempo. La otra parte puede brindarle ideas en una sola oración, lo que realmente le ahorra mucho tiempo. Muchas gracias por tu paciencia al enseñarme.
Resuelve tus propios problemas informáticos. Por ejemplo, al descargar una serie de televisión estadounidense, descargué 2, 4, 5 y 8 episodios dispersos, y hay 12 episodios en total. ¿Cómo puedo saber qué episodios faltan? Luego, el problema se descompone, 1. Lea todos los nombres de los archivos descargados, 2. Extraiga los números del conjunto, 3. Ordene los números y compárelos (1--12) para encontrar los que faltan.
Recuerde siempre el propósito, no ser programador, sino resolver problemas.
Por ejemplo, si desea capturar contenido web de forma diferida, no puede usar urllib o request. Entonces descubrirá que capturar contenido implica muchos aspectos (cookies, encabezados, SSL, URL, javascript, etc.). Puedo escuchar los consejos de los demás y volver atrás y estudiar mucho, leer desde el principio.
O, en lugar de buscar eficiencia, solo soluciones, ¿está bien abrir la página web en IE y guardarla como? IE ha mostrado todos los resultados.
La pregunta es: 1. Abra las 10 páginas web especificadas (una línea de código será suficiente). ¿Quieres guardar algo más complicado? Use paquetes existentes, como PAM30 (el mío es Python3), abra IE directamente, use la función outHTML para guardar como texto y luego use la función de búsqueda (la búsqueda str también funcionará, la búsqueda regular también funcionará) para encontrar los datos. Sencillo ¿verdad? Y el código es súper corto.
Manténgase interesado y utilice la forma más sencilla de resolver el problema. Deje que los expertos escriban sobre los factores subyacentes y los distintos intercambios. Usamos paquetes existentes para completar.
Lea el documento con paciencia y practique su lectura rápidamente. Cuando obtiene un nuevo paquete y encuentra las funciones que necesita, debe leerlo rápidamente. Esto no es difícil si lee el nombre de la función, probablemente pueda adivinar qué hace y luego observar el valor de retorno para juzgar si es lo que necesita.
Escriba archivos de ayuda y notas de estudio, publíquelos y compártalos. Cuando enseñas a otros, en realidad estás pensando en ti mismo nuevamente.
Creo que aprender programación es como aprender inglés. Una vez que comprende las palabras de alta frecuencia (bucles, juicios, paquetes de uso común, funciones de uso común), puede ensamblar el software que desee.
Entonces, http://stackoverflow.com y http://Google.com son excelentes para usar.
Entonces, sigue así.
Asegúrese de mantener el interés y omita cualquier cosa que sea demasiado complicada. Al igual que las matemáticas de la escuela primaria y el inglés de la escuela primaria, todos comienzan desde lo simple hasta lo más avanzado.
Internet es muy plano. Innumerables expertos internacionales han escrito buenos libros sobre Python, algoritmos, computadoras, redes o pensamiento de programador o pensamiento empresarial (Top of the Wave es un buen libro), etc., y también hay cursos abiertos en línea. de escuelas internacionales famosas (los subtítulos en chino e inglés han sido traducidos, por lo que no es difícil de ver). Habla sobre computadoras, redes, seguridad o sistemas Android. Siempre que puedas seguir interesado y. aprende poco a poco, no es difícil.
Todos los programadores genios alguna vez fueron niños y regresaron al pensamiento infantil para comprender y aprender. Si encuentra algo interesante, apréndalo primero. Si no lo comprende, déjelo en paz. Si tiene problemas, podrá aprenderlo nuevamente.
La única sugerencia es no ser demasiado codicioso, tener paciencia y aprender un idioma elegante antes de aprender otros. Aunque Javascript es muy bueno cuando se trata de efectos especiales, o cuando se hace una determinada pregunta, algunos expertos sugieren que sería mejor escribir en Ruby, etc., no cambies la dirección. Es como el viejo chiste: "Para aprender la recursividad, primero debes entender la recursividad". Y luego el bucle sin fin continúa. Sigue aprendiendo bien un idioma y luego estudia otros.
Incluso si puedes aprender bien las partes relacionadas con Internet, bases de datos, etc. de un idioma, entonces aprender otros idiomas será muy rápido.
La otra cosa es usar la misma paciencia con la que aprendes inglés para aprender a usar computadoras. Si encuentras palabras que no entiendes en inglés, cópialas y búscalas.
En Python, cuando vea Http, busque la definición. Cuando vea outHtml, busque la definición. Al igual que cuando aprendió inglés por primera vez, no adivine el significado directamente, porque existe una diferencia entre definiciones descriptivas precisas y vagas. lenguaje natural. Es fácil que los recién llegados malinterpreten las cosas si hacen conjeturas a ciegas. Wiki y Google son muy útiles.
Suponemos que es un programador junior que solo tiene algunos conocimientos básicos y espera utilizar Python para el desarrollo. Este documento está escrito para cumplir con los objetivos anteriores.
describir
Si sigue las tareas descritas en este documento, podrá:
Familiarizado con el lenguaje Python y el método de codificación de Python. Familiarizado con la biblioteca de Python y sabiendo cómo encontrar los módulos correspondientes cuando se encuentre con tareas de desarrollo. Sepa cómo encontrar y obtener bibliotecas de Python de terceros para hacer frente a las tareas de desarrollo.
Instalar el entorno de desarrollo.
Si está en la ventana, descargue pythonxy, instálelo y luego ejecute python para ingresar al entorno de interpretación de Python.
Si está en Ubuntu, ejecute: sudo apt-get install python, luego ejecute python en la línea de comando para ingresar al entorno de interpretación de Python.
metodos de aprendizaje
Como desarrollador maduro, mi forma habitual de aprender cosas nuevas (suponiendo que sea pyqt) es:
Utilice Google directamente para buscar en el sitio web oficial de pyqt. Siga las instrucciones del sitio web oficial para descargar pyqt (si está utilizando Ubuntu, verifique si hay una versión suficientemente nueva en la biblioteca de software). Durante el proceso de descarga, comience a leer. Mientras lee el tutorial en el sitio web oficial, siga el tutorial para usar pyqt. Si encuentra que el tutorial no es lo suficientemente completo, busque en Google si hay libros de enseñanza correspondientes. Después de estudiar los ejemplos, desarrolle un programa de juguetes. para probar si necesita utilizar las funciones. Empieza a aprender Python
Le sugiero que siga el proceso de aprendizaje descrito anteriormente. Primero, lea la documentación oficial de Python:
http://docs.python.org/tutorial/index.html
Luego haga las preguntas en el sitio web http://www.pythonchallenge.com/.
Si está atrapado en un cierto nivel durante demasiado tiempo, puede mirar la respuesta (respuesta del desafío de Google Python) y, una vez terminada, ver la diferencia entre los métodos de codificación de otras personas y los suyos propios.
pequeño proyecto
Después de terminarlo, encontrará que está familiarizado con el desarrollo básico de Python. Luego, realice algunos proyectos pequeños. Aquí hay algunos temas, elija los que le interesen y hágalos.
Preguntas frecuentes
P: Si tiene algún problema, ¿adónde puede acudir para obtener ayuda?
R: Simplemente vaya a http://groups.google.com/group/python-cn (debe eludir el firewall) o http://stackoverflow.com para hacer preguntas.
P: ¿Cómo encontrar una función de Python?
R: Consulte la documentación oficial http://docs.python.org/library/index.html.
P: ¿Cómo utilizar Python para completar una tarea (como escribir un sitio web)?
R: google: python para redacción de sitios web o google: desarrollo web python.
Etapa 1 : Las personas mayores lideran el camino. La primera vez que lo vi fue un estudiante de último año que me mostró el código Python, porque aprendí el lenguaje Java por primera vez. Cuando vi Python por primera vez, el estudiante de último año dijo: "Python está orientado a objetos" y luego imprimió algunas oraciones. código. Pero no veo dónde está "orientado a objetos". El mayor dijo "En Python, todo es un objeto", y yo dije con cierta comprensión: "Resulta que lo que considero un objeto está orientado a objetos", jaja.
Etapa 2 : comience a leer "Sumérgete en Python", "Leaning Python" y "Python Doc". Debido a que tengo mucha experiencia en el aprendizaje de idiomas, completé rápidamente el aprendizaje preliminar de gramática y uso. Las funciones que son demasiado complejas se pueden dominar gradualmente mediante el uso.
Etapa 3 : comience a usar Python para realizar parte de su trabajo diario. Por ejemplo, archivos de búsqueda de Python, procesamiento por lotes de Python, etc., los más utilizados son el módulo re y los módulos relacionados con socket. Escribí muchos ejemplos para encariñarme más con Python y familiarizarme con él. La guía más leída en este momento es la guía "Python Doc". Ya sea referencia de idioma, referencia de biblioteca o referencia de demostración, hay una gran cantidad de contenido utilizable y la calidad del contenido es muy alta y comparable a la de JDK.
Etapa 4 : Comienza la producción. Comience a usar Django, Flask y Tornado para desarrollar algunas aplicaciones web, escribir algunos kits de herramientas para uso diario, etc. Mejore gradualmente las capacidades de diseño y las capacidades generales de gestión de código.
Etapa 5 : Asigne de manera más razonable las partes en las que cada uno de los tres lenguajes de C, Java y Python es bueno. Utilice el idioma correcto en el lugar correcto. Aunque a veces un idioma puede resolverlo todo, lo más eficaz es utilizar el idioma en el que eres bueno para resolver los problemas correctos. Esta es también la ayuda y la comprensión que me brinda el concepto de "la simplicidad de Python".
PD: Algunos de los principales métodos del proceso:
Leer un libro. La base del aprendizaje.
Practica localmente. La programación todavía requiere práctica para obtener un conocimiento verdadero.
Consulta de información. Preste más atención a google, stackoverflow, etc.
comunicar. Grupos y foros de Python en varios foros. La primera CU a la que fui fue JavaEye, pero parece que ahora va menos gente. El grupo de Google debe estar suscrito.
Estudio + práctica + resumen, el arma mágica para dominar el lenguaje.
Después de leer tanta información, ¿aún no has empezado a codificar?
Bueno, el mejor artículo es "Los dos errores más grandes que cometí al aprender a programar". Haz clic para abrir el enlace.
Hazlo. Comencemos a escribir código.
Nota: Este artículo fue recopilado y compilado por @Shijiangge ([email protected]) basándose en datos de Internet.
Blog de tecnología Python, reclutamiento, software de código abierto, navegación del sitio web chino Python
¿Cómo resolver problemas de Python? Python ayuda directorio stackoverflow documentos google
Codecademia de enseñanza de vídeos online (inglés)
Python para principiantes
Inglés ¿Cómo aprendo Python desde cero para el desarrollo web? (Varias recomendaciones de libros electrónicos) Haga clic para abrir el enlace.
Aplicaciones y prácticas de Python ¿Qué es Python? ¿Quién lo está usando? ¿Herramientas relacionadas? Autor: @武青
Aprender módulos de Python equivale a traducir documentos del sitio web oficial
Para personas con experiencia en otros idiomas, inglés: Aprende X en Y minutos Traducción al chino Aprende Python en Y minutos (traducción)
Descripción de la traducción semanal al chino de PyCoder: la calidad del artículo es muy alta
PEP 20 (Zen de Python) Ejemplo: code_stype
El dolor de Unicode debe leerse.
Una lectura obligada para el análisis y la comprensión de los problemas de codificación Unicode chino en Python 2 y Sublime Text.
Compilación y traducción de respuestas relacionadas con Python en stackoverflow
Resumen del lenguaje Python: tutorial para principiantes, intermedios y avanzados Autor: @Crifan Li
Guía de Python Mejores prácticas de Python (inglés)
Guía de mejores prácticas de Python (chino) Manual de mejores prácticas sobre la instalación, configuración y uso diario de Python.
Guía de mejores prácticas de Python 2018 Mejores prácticas para el uso diario de Python, conocimientos que los desarrolladores avanzados de Python deben conocer
Selección de información útil "Coder Weekly" (artículos de Python) Resumen de selecciones
Módulo Python 3 de la semana Uso de la biblioteca estándar de Python
Python: de principiante a maestro en 100 días De principiante a maestro en 100 días
Materiales de aprendizaje, libros, artículos y proyectos prácticos de Python y Diango.
¡Qué carajo Python!
https://github.com/leisurelicht/wtfpython-cn
Zhihu: Cómo empezar a aprender el rastreador de Python
Serie de tutoriales de aprendizaje del rastreador de Python @Cui Qingcai Serie de tutoriales, entrada, práctica, introducción a las herramientas del rastreador y avanzado.
Python simula el inicio de sesión en Sina Weibo (usando cifrado RSA y archivos Cookies)
http://uliweb.clkg.org/tutorial/view_chapter/240
Un rastreador simple distribuido de Sina Weibo
Resumen de algunas técnicas para utilizar rastreadores de Python para rastrear sitios web
Resumen de algunas técnicas para utilizar rastreadores de Python para rastrear sitios web: Avanzado
Serie de rastreadores web
En el sistema Windows, paquetes relacionados con Python Binarios de Windows para paquetes de extensión de Python