Red de conocimiento informático - Material del sitio web - ¿Cómo programar como un maestro de Python?

¿Cómo programar como un maestro de Python?

1. El Zen de Python \x0d\ El Zen de Python es el principio rector del lenguaje Python. Siguiendo estos principios básicos, puedes programar como un Pythonista.

Puedes ver el contenido específico escribiendo import this en la línea de comando de Python: \x0d\The Zen of Python, por Tim Peters\x0d\\x0d\Beautiful is mejor que feo.\x0d\# Beautiful is mejor que feo (Python está escrito en hermoso El código es el objetivo)\x0d\\x0d\Explicit es mejor que implícito.\x0d\# Claro es mejor que oscuro (el código hermoso debe ser claro, con nombres estandarizados y estilo similar)\x0d\\x0d \Lo simple es mejor que lo complejo.\x0d\# La simplicidad es mejor que la complejidad (un código hermoso debe ser simple, sin una implementación interna compleja)\x0d\\x0d\Lo complejo es mejor que lo complicado.\x0d\# La complejidad es mejor que la complejidad ( si la complejidad no es posible) Evítelo, no debe haber relaciones difíciles de entender entre códigos y la interfaz debe mantenerse simple)\x0d\\x0d\Flat es mejor que anidado.\x0d\# Flat es mejor que anidado (un código hermoso debe ser plano, no debe haber demasiado anidamiento)\x0d\\x0d\Sparse es mejor que denso.\x0d\# El espaciado es mejor que compacto (un código hermoso tiene un espaciado apropiado, no espere una línea de código para resolver el problema)\x0d\\x0d\La legibilidad cuenta.\x0d\# La legibilidad es importante (el código hermoso es legible)\x0d\\x0d\Los casos especiales no son lo suficientemente especiales como para romper las reglas.\x0d\Aunque la practicidad vence a la pureza.\x0d\# Incluso estas reglas (que son primordiales) no deben violarse en nombre de la practicidad de las excepciones.\x0d\\x0d\Los errores nunca deben pasar en silencio.\x0d\A menos que se silencien explícitamente.\x0d \# No pases todos los errores a menos que sea absolutamente necesario Haz esto (captura con precisión las excepciones, no escribas excepto:pasar código de estilo)\x0d\\x0d\Ante la ambigüedad, rechaza la tentación de adivinar.\x0d\ # Cuando hay múltiples posibilidades, no intentes adivinar\ x0d\\x0d\Debería haber una, y preferiblemente solo una, forma obvia de hacerlo.\x0d\# En lugar de eso, intenta encontrar una, y preferiblemente solo una. manera obvia de hacerlo (si no estás seguro, solo usa el método exhaustivo)\x0d\\x0d\Aunque esa manera puede no ser obvia al principio a menos que seas holandés.\x0d\# Aunque esa manera no es fácil porque eres no es el padre de Python (el holandés aquí se refiere a Guido)\x0d\Ahora es mejor que nunca.\x0d\Aunque nunca es mejor que *ahora mismo* ahora.\x0d\# Hacer puede ser mejor que no hacer, pero hacerlo sin pensar es peor que no hacerlo (piensa bien antes de hacerlo)\ x0d\Si la implementación es difícil de explicar, es una mala idea.\x0d\Si la implementación es fácil de explicar, puede ser una buena idea.\ x0d\# Si no puede describir su solución a la gente, definitivamente no es un buen plan y viceversa (criterios de evaluación del programa)\x0d\N;

los espacios de nombres son una gran idea, ¡hagamos más de eso!\x0d\# Los espacios de nombres son una idea maravillosa, deberíamos hacer más uso de ellos (defensa y llamado)\x0d\\x0d\ Esta "poesía" especial comienza como broma, pero contiene muchas verdades filosóficas sobre Python. El Zen de Python ha sido documentado oficialmente en PEP 20. Para más detalles, consulte: PEP 20\x0d\ 2. PEP8: Guía de estilo para código Python (PEP8: Guía de estilo para código Python) \x0d\ Abelson & Sussman en "Construcción y Interpretación de programas de computadora" 1 El libro dice: Los programas están escritos para ser leídos por humanos y simplemente ejecutados por máquinas. Por lo tanto, deberíamos intentar que sea más fácil de leer al codificar. PEP8 es la especificación de codificación para Python. Para obtener documentación oficial, consulte: PEP 8. PEP es la abreviatura de Python Enhancement Proposal. PEP8 incluye muchas especificaciones de codificación. A continuación se presentan principalmente sangrías y nombres. \x0d\ Espacios y sangría (espacio en blanco y sangría)\x0d\ Los espacios y la sangría son muy importantes en el lenguaje Python. Reemplazan la función de {} en otros lenguajes y se utilizan para distinguir bloques de código y alcances. En este sentido, PEP8 tiene las siguientes sugerencias:\x0d\1. Utilice 4 espacios para cada sangría\x0d\2. No utilice Tab, y mucho menos mezcle Tab y espacios\x0d\3. , use dos líneas en blanco entre dos Clases\x0d\4. Agregue un espacio después de "," en diccionarios, listas, secuencias, listas de parámetros y después de ":" en diccionarios, en lugar de antes de\ x0d\5. ambos lados de la asignación y comparación (excepto en la lista de parámetros)\x0d\6 No debe haber ningún espacio inmediatamente después de los corchetes o en el carácter antes de la lista de parámetros\x0d\\x0d\ Python naming\x0d\ La convención de nomenclatura. es la base de los lenguajes de programación y la mayoría de las especificaciones son las mismas para los lenguajes de alto nivel. Las especificaciones básicas de Python son las siguientes: \x0d\1, métodos y atributos: join_lower\x0d\2, constantes: join_lower o ALL_CAPS. \x0d\3 , Clase: StudlyCaps\x0d\4, Atributos de clase: interfaz, _internal, __private\x0d\5, camelCase solo para cumplir con las convenciones preexistentes\x0d\\x0d\ El contenido anterior es solo una introducción muy breve a PEP8, porque el tema de hoy no está aquí, así que no hablaré de ello aquí. Si desea tener una comprensión más profunda de las especificaciones de codificación de Python, puede leer la documentación oficial de PEP8 y las especificaciones de codificación de Google Python. \x0d\ 3. Intercambiar valores\x0d\ En otros idiomas, al intercambiar dos valores de variables, puedes escribir así: \x0d\temp = a\x0d\a = b\x0d\b = temp \x0d\\x0d\ En Python, podemos simplemente escribir así:\x0d\b, a = a, b\x0d\\x0d\ Tal vez hayas visto este método de escritura en otros lugares, pero sabes que Python es ¿Cómo implementar 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: \x0d\ 1. Python primero generará una tupla (tupla) a partir de a y b a la derecha y la almacenará. en la memoria ;\x0d\ 2. La operación de asignación se realizará más tarde y la tupla se dividirá en este momento \x0d\ 3. Luego, el primer elemento de la tupla se asigna a la primera variable de la izquierda, y el segundo elemento se asigna a la variable de las dos variables de la izquierda.

\x0d\ Da otro ejemplo de división de tuplas: \x0d\In [1]: personas = ['David', 'Pythonista', '15145551234']\x0d\\x0d\In [2]: nombre, título, teléfono = personas\x0d\\x0d\In [3]: nombre\x0d\Out[3]: 'David'\x0d\\x0d\In [4]: ​​​​título\x0d\Out[4]: 'Pythonista'\ x0d\\x0d\In [5]: phone\x0d\Out[5]: '15145551234'\x0d\\x0d\ Esta sintaxis es muy útil en bucles For: \x0d\In [6]: personas = [[ ' David', 'Pythonista', '15145551234'], ['Wu', 'Student', '15101365547']]\x0d\\x0d\In [7]: para nombre, título, teléfono en personas:\x0d\ . ..: imprimir nombre, teléfono\x0d\ ...: \x0d\David 15145551234\x0d\Wu 15101365547\x0d\\x0d\ PD: Al utilizar esta sintaxis, debe asegurarse de que el número de variables a la izquierda y al tupla a la derecha El número es consistente; de ​​lo contrario, Python generará una excepción ValueError. \x0d\ Más ejemplos de tuplas: \x0d\>>> 1,\x0d\(1,)\x0d\>>> (1,)\x0d\(1,)\x0d\>>> (1) \x0d \1\x0d\>>> valor = 1,\x0d\>>> valor\x0d\(1,)\x0d\\x0d\ Sabemos: la coma (,) es el constructor para crear tuplas en Python, así que Puedes crear fácilmente una tupla de la forma anterior. Cabe señalar que si declaras una tupla con un solo elemento, debe haber una coma al final, pero no con más de dos elementos. La sintaxis para declarar una tupla es muy simple, pero también complicada: si descubres que una variable en Python cambia mágicamente a una tupla, probablemente se deba a que escribiste una coma adicional. . \x0d\ 4. "_" (interactivo "_") de la consola Python \x0d\ Esta es una función más útil en Python, pero mucha gente no la sabe (yo no lo sabía hasta que entré en contacto con Python durante mucho tiempo). . 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: \x0d\>>> import math\x0d\>>> math.pi / 3\x0d\1.0471975511965976\x0d\>>> ángulo = _\x0d \ >>> math.cos(angle)\x0d\0.50000000000000011\x0d\>>> _\x0d\0.50000000000000011\x0d\\x0d\ PD: Cuando el resultado devuelto es Ninguno, la consola no imprimirá, _ se almacena en El valor no cambiará.

\x0d\ 5. Fusionar cadenas (construir cadenas a partir de subcadenas) \x0d\ Si hay una lista con algunas cadenas y ahora necesita fusionarlas en una sola cadena, el método más simple es el siguiente: La forma de procesar :\x0d\colors = ['rojo', 'azul', 'verde', 'amarillo']\x0d\\x0d\result = ''\x0d\para s en colores:\x0d\ resultado + = s\x0d \\x0d\ Sin embargo, pronto descubrirá que este método es muy ineficiente, especialmente cuando la lista es muy grande. Los objetos de cadena en Python son inmutables, por lo que cualquier operación de cadena, como concatenación, modificación, etc., producirá un nuevo objeto de cadena, que no se basa en la cadena original. Por lo tanto, el método anterior consume mucha memoria: necesita calcular, almacenar y desechar los resultados del cálculo intermedio. El método correcto es usar el método de unión en Python:\x0d\result = ','.join(colors)\x0d\\x0d\ Cuando hay relativamente pocos elementos para fusionar, usar el método de unión no tendrá mucho efecto ; sin embargo, cuando hay muchos elementos, encontrará que la eficiencia de la unión sigue siendo muy obvia. Sin embargo, tenga en cuenta al usarlo: join solo se puede usar para listas cuyos elementos sean cadenas y no realizará ninguna conversión de tipo forzada. Se generará una excepción al concatenar una lista con uno o más elementos que no sean cadenas.