Conceptos básicos de programación en Python: funciones (2)

Conceptos básicos de programación de Python: funciones (1)

1. función lambda ()

La función lambda() es un método de función simple que define la función en la misma línea. lambda () en realidad genera un objeto de función (función anónima), que se usa principalmente cuando se requiere un objeto de función como parámetro o cuando la función es simple y se usa una vez.
El formato de sintaxis de la función lambda() es el siguiente:

lambda 参数1,参数2...:<函数语句>

El valor de retorno de esta función es el resultado del cálculo de la declaración de la función y solo puede ser una declaración. Por ejemplo:

lambda x,y:x+y

En la fórmula anterior, los parámetros formales son xey, y el resultado devuelto por la función es x+y.
Insertar descripción de la imagen aquí
Hemos introducido la clasificación de diccionarios por claves antes. Si desea ordenar por valores, puede combinar la función lambda y la función sorted().
Insertar descripción de la imagen aquí
En el ejemplo anterior, hay dos parámetros en la función sorted(). El primero es la entrada del diccionario que necesita ser ordenada. La última clave representa la clave de clasificación especificada durante la clasificación. La función lambda() toma cada elemento de la función sorted(). diccionario y El valor de la entrada se extrae y luego se combina con la clave como objeto de clasificación.

2. Función recursiva

La recursividad se refiere al proceso de repetir el mismo método, mientras que una función recursiva es un proceso en el que una función se llama continuamente a sí misma bajo determinadas condiciones de terminación. El más común es el proceso de encontrar factoriales.
Bajo la premisa de los números enteros no negativos, cuando n es igual a 1, el factorial de n es 1. Cuando n es mayor o igual a 1, n es el resultado de todos los números enteros positivos menores o iguales a n, es decir , norte! , y para n, el factorial de n puede considerarse como la multiplicación factorial de n y n-1, es decir, n! =n*(n-1)!, este proceso de multiplicación se repite de forma recursiva. Escríbalo en lenguaje Python y el contenido es el siguiente:
Insertar descripción de la imagen aquí
En el ejemplo anterior, cuando n es 1, la función fun() devuelve un resultado de 1. Cuando n es mayor que 1, su factorial se convertirá en n-1 Factorial, hasta que el valor final de n sea 1, el proceso es un proceso recursivo y la condición de terminación final es n == 1.

Además de los ejemplos anteriores, es común usar funciones recursivas para encontrar la secuencia de Fibonacci. En la secuencia de Fibonacci, los dos primeros números son ambos 1. A partir del tercer número, cada número es igual a los dos primeros. La suma de números, de acuerdo con la idea recursiva anterior, la recursividad termina cuando n toma el valor 1 o 2. Cuando n es mayor que 2, n = n-1 + n-2, se puede considerar que encuentra n-1 y n-2, en este momento, el valor del parámetro n continúa haciéndose más pequeño y finalmente converge a n valores de 1 y 2. El proceso específico es el siguiente:
Insertar descripción de la imagen aquí

3. Alcance de las variables

Durante el proceso de escritura de un programa, generalmente necesitamos definir variables relevantes. A estas variables se accederá durante la ejecución del programa. Sin embargo, las variables no son accesibles desde todas las ubicaciones del programa. Los derechos de acceso dependen de si la variable es Donde se realiza la asignación.
Cada variable tiene su propio alcance. Alcance significa dónde se puede acceder a la variable y dónde no. Los dos alcances variables básicos son "variables locales" y "variables globales".

Las variables locales
están directamente relacionadas con las funciones. Generalmente se definen dentro de la función. Cada llamada a la función crea un nuevo alcance. En este momento, se puede acceder a las variables locales dentro del alcance. Cuando se accede desde fuera de la función, la variable no podrá acceder .
Insertar descripción de la imagen aquí
En la figura anterior, x es una variable local definida dentro de la función, por lo que cuando se accede desde fuera, aparecerá un código de error. El contenido del error es que la variable x no está definida.

Todas las variables
corresponden a variables locales, todas las variables son variables creadas fuera de la función, es decir, en la parte principal del programa, son visibles globalmente.
Insertar descripción de la imagen aquí
En la figura anterior, x = 1 es una variable global, por lo que la función puede acceder a x internamente y devolver el resultado del cálculo de x + x. Al mismo tiempo, la función externa también puede usar print directamente para leer el valor de x y sacarlo.

Las variables globales y las variables locales
tienen el mismo nombre. Hay una situación en la que todas las variables tienen el mismo nombre que las variables locales. En este caso, se accederá primero a las variables locales dentro de la función.
Insertar descripción de la imagen aquí
En la figura anterior, la variable local x=2 y la variable global x=1 están definidas al mismo tiempo. La función f() puede acceder a estas dos variables al mismo tiempo. En este momento, las dos variables tienen el mismo nombre, por lo que tendrán prioridad cuando se ejecute la función f(). Al acceder a la variable local x=2, es decir, la primera salida es 2+2, y al acceder a x directamente desde el exterior, se accede a la variable global, es decir, la la salida de x es 1.

Si desea acceder a las variables globales primero dentro de la función en la situación anterior, solo necesita usar la palabra clave declaración global.
Insertar descripción de la imagen aquí
En la función anterior, primero use global para acceder a todas las variables x = 1, y luego use x = 2 para reasignar x, por lo que el valor de la variable global x se convierte en 2 en este momento, es decir, la primera salida es 2 + 2 , y la primera salida es 2 + 2. Las dos variables globales de salida x también son 2.

Supongo que te gusta

Origin blog.csdn.net/weixin_42051846/article/details/131828546
Recomendado
Clasificación