Colección de citas famosas - Libros antiguos - Acerca de las operaciones en Python

Acerca de las operaciones en Python

Permítanme reimprimir el contenido de un artículo relativamente claro en Internet:

Comprensión personal: en términos generales, todas las variables en Python almacenan direcciones de referencia, no valores directamente. Entonces

a, b=b, a, este código corresponde a múltiples instrucciones de máquina analizadas por el intérprete de Python. Su secuencia de ejecución es hacer referencia primero a las direcciones de referencia variables de b y a en el lado derecho de bb. , aa Cárguelo, y luego a apunta a bb y b apunta a aa. Esto completa el intercambio de valores.

No puede entenderse simplemente como ejecutar b=a primero y luego a=b. Los dos son diferentes.

La siguiente es una interceptación reproducida:

Las variables de Python no almacenan valores directamente, sino que solo hacen referencia a una dirección de memoria. Al intercambiar variables, solo se hace referencia a la dirección. se intercambia.

Primero mira el siguiente programa: import?dis

def?func(a,b):

a,b=b,a

imprimir(a,b)

a=10

b=20

func(a,b)

dis.dis(func)

En términos generales, una declaración de Python corresponderá a varias instrucciones de código de bytes. El código de bytes de Python es un lenguaje intermedio similar a las instrucciones de ensamblaje, pero una instrucción de código de bytes no corresponde a una instrucción de máquina (binaria). instrucción), sino a una pieza de código C, y el desempeño de diferentes instrucciones es diferente, por lo que el desempeño del código no puede juzgarse solo por el número de instrucciones, sino que debe confirmarse observando el código de instrucciones que se llaman con mayor frecuencia La ejecución de un programa. ?

Un programa Python estará compuesto por varios bloques de código. Por ejemplo, un archivo Python será un bloque de código, una clase, y una función será un bloque de código. contexto de ejecución y una serie de instrucciones de código de bytes.

¿Cuál es la función de dis?

El módulo dis es principalmente un módulo integrado que se utiliza para analizar el código de bytes. El método más utilizado es dis.dis([bytesource]). parámetros Para un bloque de código, puede obtener la secuencia de instrucciones de código de bytes correspondiente a este bloque de código.

¿El resultado de salida del código?

Solo mire el resultado de 12 (en mi compilador, la línea de código intercambiada es la línea 12)

Puede ser visto que se debe principalmente a la instrucción ROT_TWO:?

Mirando la documentación de Python, puede saber que hay instrucciones como ROT_TWO (línea de código fuente 1398), ROT_THREE (línea de código fuente 1406), y ROT_FOUR Puedes intercambiar los dos directamente ¿Cuáles son los valores de una variable, tres variables o cuatro variables?

-----------------. ----?

Autor :¿Patata, patata, ñame y huevo?

Fuente: CSDN?

Texto original: /qq_33414271/article/details/ 78522235?

Declaración de derechos de autor: este artículo es original del blogger. ¡Adjunte un enlace a la publicación del blog cuando lo reimprima!