[Girar] N-años de edad conductores Python, sangre y lágrimas resumir un error novato común 10

 

 

1. Los bienes de variable por defecto

 

 

 

La figura anterior, definimos función addElement, en el parámetro de función, se utilizó la lista de objetos variable por defecto. Cuando se llama a la función que addElement parámetros predeterminados de uso continuo, se puede encontrar lista1 solamente se creará una vez. Dado que la lista pertenece al objeto variable en Python, y por lo tanto sólo puede ser creada una vez cuando se define la función, por lo que cuando se usan las llamadas para crear una lista con una buena lista. Para los objetos inmutables, la situación es diferente, como se muestra a continuación.

 

 

Para objeto inmutable, procedimiento cuando se llama a la función, que será llamado como objetos inmutables parámetros por defecto. Entonces, ¿cómo resolver este problema, podemos utilizar un objeto inmutable al juez dirigió el programa como se muestra a continuación.

Usamos el condicional, si lista1 en Ninguno, para decidir si se debe crear una nueva lista, con el fin de resolver los problemas anteriores.

 

2. copia superficial y el problema copia profunda

 

 

Este programa, hemos creado un dict1 diccionario. copia superficial por copia a la dict2 dict1, por la biblioteca copia DeepCopy (en profundidad) copia a la dict2 dict1. Dict2 suprimirse cuando el elemento clave es el objeto hijo '2', el elemento correspondiente en dict1 también eliminados, pero todavía retiene dict3. Esa es la diferencia entre la copia de copia profunda y superficial. Como se muestra en la figura.

 

 

Poco profunda copiar simplemente copia el objeto padre, pero para el mismo objeto o subobjeto referencias. Para copia profunda, es totalmente objeto secundario y un objeto padre copiado, cada uno tiene una por separado sub-objetos.

 

3. Recuerde que no debe utilizar el nombre oficial del archivo de biblioteca nombrar sus propios archivos

Aquí es el medio oficial de repositorio que tenemos que importar la biblioteca, aquí pequeña referidos colectivamente como el repositorio oficial. Como se muestra en la figura.

 

 

Xiao Bian crea un archivo py, llamado numpy. Cuando Xiao Bian quiere llamar la famosa "numpy", esta vez llamado el error de programa "matriz" no puede encontrar la propiedad. La razón es que sus pequeñas series de nombre de archivo para py numpy, el programa automáticamente encontrará "matriz" en el archivo actual en este establecimiento. Como era de esperar, por supuesto, no puedo encontrarlo, por lo que las pequeñas series para recordarle, no presente su nombre oficial y el nombre de la biblioteca de golpe, o serán un gran problema.

 

4. Uso iterador Sociedad

Python como un lenguaje muy conveniente, muchos elementos pueden ser iterativo tienen, deberíamos hacer un uso completo de estas propiedades, como se muestra a continuación.

 

 

Queremos realizar la función addOne para todos los elementos en la lista de objetos, sino también el método estándar tradicional consiste en utilizar un bucle de lograr, ya que el primer método. Sin embargo, debido a que el objeto está lista iterable, podemos hacer un buen uso de esta ventaja, una línea de código para conseguir este problema, como se muestra en el segundo método. Así que toma ventaja de la naturaleza bien de alguna iterables pitón, que le ahorrará un montón de código, sino también hagamos un menor número de errores.

 

El uso frecuente de las variables globales

Como un principiante pitón, a todos nos gusta definir variables globales, variables globales y los cambios en la función, es innegable que algunos lugares tienen que cambiar las variables globales de una función, pero tal enfoque dañarían procedimientos, procedimientos de seguridad el sexo se vuelve frágil. Tenemos que cambiar este hábito en la programación habitual, como se muestra en la figura.

 

 

En la programación, debemos tratar de utilizar el formulario para pasar parámetros a utilizar variables globales, en lugar de modificar directamente las variables globales. Debido a que en la mayoría de los casos, todas las variables globales en función de las variables compartidas, con el fin de garantizar los procedimientos de seguridad y no se debe cambiar casualmente, excepto cuando se requiere programación para cambiar una variable global.

 

6. claro es python2 o python3

En la pitón principiante cuando podríamos ser python2 o python3 desconcertado, incapaz de oportuna python2 interruptor de la gramática y en python3, necesitamos versión pitón claro para su propio uso, a diferencia de python3 python2 o más, y por lo tanto tenemos que tener cuidado, como se muestra a continuación.

 

 

Debido a las diferentes formas de expresión de salida python2 y python3 en, por lo que necesita cuando utiliza la función de impresión, añadir paréntesis después de la salida de la versión python3.

 

 

7. decir la diferencia entre "es" y "==" en

Por "es" y "==", que generalmente se usa para determinar los multi-dos valores son iguales, pero esto es "igual" en pitón tener diferentes conceptos, hay que distinguir entre igual o igual que el valor de la dirección, como se muestra en la figura. .

 

 

Estamos utilizando el procedimiento anterior y se determina tanto == dos listas son iguales, se puede ver, la lista es una determinación de si las dos direcciones son iguales, y los dos valores para ver si == lista coinciden. Podemos recordar un jingle: es ver la dirección, el signo igual para ver el contenido, tales reutilización se realiza == y ya no los errores que se cometen al elementos de juicio.

 

8. pitón de palabras clave como nombre de variable

Como una serpiente pitón principiante, pitón a menudo no sabe de qué palabras clave, lo que hará que el error del programa.

 

 

El procedimiento anterior, se utiliza la palabra clave "clase" para crear una nueva categoría, que puede conducir a error de programa, y ​​podemos ver, las instrucciones de edición para las palabras clave son diferentes colores que le dice que está utilizando una palabra clave, así que debemos tener cuidado de no utilizar palabras clave como nombres de variables.

 

9. variables locales no definidos

Para las variables locales, cuando lo llamamos debe garantizar que se define, como se muestra a continuación.

 

 

Para printLocalNum1, no definimos localnum llamarlo, el resultado de un error inevitable, pero en printLocalNum2, nos dan la asignación localnum determinando el tamaño de la entrada y la salida localnum, donde hicimos un juicio infalible a través si otra cosa, asegurarse de que no importa lo que el valor (nota debe ser numérico) en la entrada, misiones localnum se llevará a cabo a fin de no llamar localnum indefinido.



10. Evade ++ operaciones y funcionamiento -

 

 

Mientras que la sintaxis de Python es simple, pero para C ++, Java en el ++ o - las operaciones de auto-decremento incremento y no son compatibles, porque ¿por qué? Xiao Bian le dan una de mi entendimiento personal, debido adelante en Python son números enteros tipo inmutable, la creación no se puede cambiar, y desde incremento y decremento es que los cambios de dirección originales en el valor de la sustitución, que es tipo inmutable pitón contrario, y por lo tanto no se puede lograr incremento o decremento de la operación.

 

Supongo que te gusta

Origin www.cnblogs.com/lucky-cat233/p/12617706.html
Recomendado
Clasificación