Cómo programar como un maestro de Python
El Zen de Python es el principio rector del lenguaje Python. Si sigue estos principios básicos, podrá programar como Python. Puede ingresar importar esto en la línea de comando de Python para ver información detallada:
"Zen of Python" de Tim Peters
Es mejor ser bello que feo.
#La belleza es mejor que lo feo (Python tiene como objetivo escribir código hermoso)
Lo explícito es mejor que lo implícito.
#Claro es mejor que oscuro (un código bonito debe ser claro, con nombres estándar y estilos similares)
Lo simple es mejor que lo complejo.
#Lo simple es mejor que lo complejo (un código hermoso debe ser simple, sin una implementación interna compleja)
Es mejor ser complejo que complejo.
#La complejidad es mejor que el desorden (si la complejidad es inevitable, entonces no debería haber relaciones incomprensibles entre los códigos y las interfaces deben seguir siendo simples)
Relación plana Bien anidada.
#Flat es mejor que anidado (un código bonito debe ser plano sin demasiado anidamiento)
Escaso es mejor que denso.
# El espaciado es mejor que la rigidez (el código hermoso tiene el espaciado adecuado, así que no espere que una línea de código resuelva el problema)
La legibilidad es importante.
#La legibilidad es muy importante (el código hermoso es legible)
Los casos especiales no son lo suficientemente especiales como para romper las reglas.
Aunque la practicidad triunfa sobre la pureza.
#No debes violar estas reglas (estas reglas son supremas) incluso en nombre de la practicidad para situaciones especiales.
Los errores nunca pasan en silencio.
A menos que se guarde explícitamente silencio.
#No tolere todos los errores a menos que esté seguro de que los necesita (capte las excepciones con precisión, no escriba código en un estilo excepto: pasar).
Ante la ambigüedad, rechaza la tentación de la especulación.
#No intentes adivinar cuando hay muchas posibilidades
Debería haber una, y preferiblemente solo una, forma obvia de hacerlo.
#En su lugar, intente encontrar una solución obvia, preferiblemente la única solución (en caso de duda, utilice el método exhaustivo).
Aunque este enfoque puede no ser obvio al principio, a menos que seas holandés.
#Aunque esto no es fácil, porque no eres el padre de Python (aquí el holandés se refiere a Guido)
Ahora es mejor que nada.
Aunque nunca ha sido mejor que ahora.
#Hacer puede ser mejor que no hacer, pero no hacer es mejor que no hacer (piensa antes de actuar)
Si la implementación es difícil de explicar, esta es una mala idea .
Esta podría ser una buena idea si la implementación es fácil de explicar.
#Si no puedes describir tu plan a los demás, definitivamente no es un buen plan y viceversa (Criterios de evaluación del proyecto)
Los espacios de nombres son una gran idea. ¡Hagamos más!
# Namespace es una buena idea y deberíamos hacer más uso de él (promocionarlo y solicitarlo).
Este "poema" especial comenzó como una broma, pero contiene muchos de los principios filosóficos de Python detrás. El Zen de Python ha sido escrito oficialmente en PEP 20. Consulte PEP 20 para obtener más detalles.
2. PEP8: Especificaciones de codificación Python (pep 8: Guía de estilo para código Python).
Abelson y Sussman dijeron en el libro "Construcción e interpretación de programas informáticos": Los programas están escritos para que los humanos los lean, pero son ejecutados por máquinas. Entonces, cuando codifique, intente que sea lo más legible posible. PEP 8 es la especificación de codificación para Python. Para obtener documentación oficial, consulte PEP8. PEP es la abreviatura de Python Enhancement Proposal. PEP8 incluye muchas especificaciones de codificación.
A continuación se presenta principalmente la sangría y la denominación.
Espacios en blanco y sangría
Los espacios en blanco y la sangría son muy importantes en el lenguaje Python. Reemplaza la función de {} en otros lenguajes para distinguir bloques de código y alcances. . PEP8 tiene las siguientes recomendaciones al respecto:
1. Utilice 4 espacios para cada sangría.
2. No utilice caracteres de tabulación ni mezcle caracteres de tabulación y espacios.
3. Utilice una línea en blanco entre dos métodos y dos líneas en blanco entre dos clases.
4. En diccionarios, listas, secuencias y listas de parámetros, agregue un espacio después de ":" en lugar de antes.
5. Agregue un espacio en ambos lados de la asignación y la comparación (excepto en las listas de parámetros).
6. No debe haber espacios después de los corchetes ni delante de la lista de parámetros.
Nombres de Python
Las convenciones de nomenclatura son la base de los lenguajes de programación. Para los lenguajes de alto nivel, la mayoría de las convenciones son las mismas. Las especificaciones básicas de Python son las siguientes:
1. Método; atributo: join_lower
2. Constante: join_lower o ALL_CAPS
3.
4. Atributos de clase: interfaz, _interno, __privado.
5. La bolsita de té es solo para cumplir con las convenciones existentes.
El contenido anterior es solo una introducción muy breve a PEP8, por lo que no entraré en ello aquí porque es el tema de hoy. no está aquí. Si desea obtener más información sobre las especificaciones de codificación de Python, puede leer la documentación oficial de PEP8 y las especificaciones de codificación de Google Python.
Tres. Intercambiar los valores de las variables
En otros idiomas, al intercambiar los valores de dos variables, puedes escribir:
Temperatura = a
a = b
p>b = temperatura
En Python, podemos escribir simplemente:
b, a = a, b
Es posible que haya visto este método de escritura en otros lugares, pero ¿sabe cómo Python implementa esta sintaxis? En primer lugar, la coma (,) es la sintaxis de la estructura de datos de tupla en Python; la sintaxis anterior realizará las siguientes operaciones:
1. Python primero generará una tupla de A y B a la derecha y guárdelo en la memoria;
2. Luego se realizará la operación de asignación y luego se desmontará la tupla.
3. primera variable de la izquierda, el segundo elemento se asigna a la segunda variable de la izquierda.
Da otro ejemplo de división de tuplas:
En [1]: people = ['David ', 'Pythonista ', ' 1514551234 ']
En [ 2]: nombre, cargo, número de teléfono = persona
En [3]: nombre
Salida[3]: "David"
En [4] : Título
Salida[4]: "Pitonista"
En [5]: Número de teléfono
salida[5]: ' 15145551234 '
Esta sintaxis es muy práctica en bucles For:
En [6]: personas = ['David', 'Pitonista', '15145551234'], [ 'Wu', 'Estudiante', ' 15101365547 ']]
En [7]: Para el nombre, cargo y número de teléfono de la persona:
...: Imprimir nombre, número de teléfono
...:
David 15145551234
Wu 15101365547
PD: Al utilizar esta sintaxis, debe asegurarse de que la variable de la izquierda El número es el mismo que el número de tuplas a la derecha; de lo contrario, Python generará una excepción ValueError.
Más ejemplos de tuplas:
gt gt gt1,
(1,)
gt gt gt(1,) p>
(1,)
gt gt gt(1)
1
gt gt gt valor = 1,
gt gt gt value
(1,)
Sabemos que la coma (,) es el constructor en Python que crea tuplas, por lo que podemos usar fácilmente el método anterior para crear una tupla ; tenga en cuenta que si declara una tupla con un solo elemento, debe agregar una coma al final, pero no más de dos elementos. La sintaxis para declarar una tupla es simple, pero al mismo tiempo bastante concisa: si descubres que una variable en Python se convierte misteriosamente en una tupla, lo más probable es que hayas escrito una coma adicional. .
4. Consola Python "_" (interactiva "_")
Esta es una función muy útil en Python, pero mucha gente no la conoce (he estado expuesto a ella). Python desde hace mucho tiempo) Saber). . En la consola interactiva de Python, cuando evalúa una expresión o llama a un método, el resultado de la operación se coloca en una variable temporal _. _ (guión bajo) se utiliza para almacenar el último resultado impreso, por ejemplo:
gt gt gtImportar matemáticas
gt gt gtmath.pi / 3
1.0471975511965976
p>gt gt gt ángulo = _
gt gt gtmath.cos(ángulo)
0.50000000000000011
gt gt gt_
0.50000000000000011
PD: Cuando el resultado devuelto es Ninguno, la consola no imprime y el valor almacenado en _ permanece sin cambios.
Verbo (abreviatura de verbo) combinar cadenas (construir cadenas a partir de subcadenas)
Si tiene una lista con algunas cadenas, ahora necesita combinarlas en una sola cadena. La forma más sencilla, puedes manejarlo con el siguiente método:
Color = ['Rojo', 'Azul', 'Verde', 'Amarillo']
Resultado = ' '
Para colores:
result = s
Sin embargo, pronto descubrirá que este método es muy ineficiente, especialmente cuando la lista es muy grande. El objeto String en Python es inmutable, por lo que cualquier operación en la cadena, como empalme y modificación, producirá un nuevo objeto de cadena, que no se basa en la cadena original. Por lo tanto, el método anterior consumirá mucha memoria: necesita calcular, almacenar y descartar los resultados de los cálculos intermedios. La forma correcta es utilizar el método join en Python:
resultado = ','. Unión (color)
Cuando hay pocos elementos fusionados, el método de unión no tiene mucho efecto, pero cuando hay muchos elementos, encontrará que la eficiencia de la unión sigue siendo muy obvia; Pero cuando lo use, tenga en cuenta que join solo se puede usar para listas cuyos elementos sean cadenas y no realizará ninguna conversión. Al concatenar listas con uno o más elementos que no son cadenas, se genera una excepción.