Bases de la programmation Python : fonctions (2)

Bases de la programmation Python : fonctions (1)

1. Fonction lambda()

La fonction lambda() est une méthode de fonction simple qui définit la fonction sur la même ligne. lambda() génère en fait un objet fonction (fonction anonyme), qui est principalement utilisé lorsqu'un objet fonction est requis en tant que paramètre ou lorsque la fonction est simple et utilisée une seule fois.
Le format syntaxique de la fonction lambda() est le suivant :

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

La valeur de retour de cette fonction est le résultat du calcul de l'instruction de fonction et ne peut être qu'une seule instruction. Par exemple:

lambda x,y:x+y

Dans la formule ci-dessus, les paramètres formels sont x et y, et le résultat de retour de la fonction est x+y.
Insérer la description de l'image ici
Nous avons déjà introduit le tri des dictionnaires par clés. Si vous souhaitez trier par valeurs, vous pouvez combiner la fonction lambda et la fonction sorted().
Insérer la description de l'image ici
Dans l'exemple ci-dessus, il y a deux paramètres dans la fonction sorted(). Le premier est l'entrée du dictionnaire qui doit être triée, et la dernière clé représente la clé de tri spécifiée lors du tri. La fonction lambda() ajoute chaque élément dans le dictionnaire vers La valeur de l'entrée est extraite puis combinée avec la clé comme objet de tri.

2. Fonction récursive

La récursion fait référence au processus de répétition de la même méthode, tandis qu'une fonction récursive est un processus dans lequel une fonction s'appelle continuellement dans des conditions de terminaison données. Le plus courant est le processus de recherche de factorielles.
Sous le principe des entiers non négatifs, lorsque n est égal à 1, la factorielle de n est 1. Lorsque n est supérieur ou égal à 1, n est le résultat de tous les entiers positifs inférieurs ou égaux à n, c'est-à-dire , n! , et pour n, la factorielle de n peut être considérée comme la multiplication factorielle de n et n-1, c'est-à-dire n ! =n*(n-1)!, ce processus de multiplication est répété de manière récursive. Écrivez-le en langage python, et le contenu est le suivant :
Insérer la description de l'image ici
Dans l'exemple ci-dessus, lorsque n vaut 1, la fonction fun() renvoie un résultat de 1. Lorsque n est supérieur à 1, sa factorielle sera convertie en n-1. Factoriel, jusqu'à ce que la valeur n finale soit 1, le processus est un processus récursif et la condition de fin finale est n==1.

En plus des exemples ci-dessus, il est courant d'utiliser des fonctions récursives pour trouver la suite de Fibonacci. Dans la suite de Fibonacci, les deux premiers nombres sont tous deux égaux à 1. À partir du troisième nombre, chaque nombre est égal aux deux premiers. La somme de nombres, selon l'idée récursive ci-dessus, lorsque n prend la valeur 1 ou 2, la récursion se termine. Lorsque n est supérieur à 2, n=n-1+n-2, ce qui peut être considéré comme trouvant n-1 et n-2 , à ce moment, la valeur du paramètre n continue de diminuer et converge finalement vers n valeurs de 1 et 2. Le processus spécifique est le suivant :
Insérer la description de l'image ici

3. Portée des variables

Pendant le processus d'écriture d'un programme, nous devons généralement définir des variables pertinentes. Ces variables seront accessibles pendant l'exécution du programme. Cependant, les variables ne sont pas accessibles depuis tous les emplacements du programme. Les droits d'accès dépendent du fait que la variable est ou non. Où la mission est effectuée.
Chaque variable a sa propre portée. La portée signifie où la variable est accessible et où elle ne peut pas être consultée. Les deux portées de variable de base sont "variables locales" et "variables globales".

Les variables locales
sont directement liées aux fonctions. Elles sont généralement définies à l'intérieur de la fonction. Chaque appel de fonction crée une nouvelle portée. À ce stade, les variables locales sont accessibles dans la portée. Lorsqu'on y accède depuis l'extérieur de la fonction, la variable ne parviendra pas à accéder .
Insérer la description de l'image ici
Dans la figure ci-dessus, x est une variable locale définie à l'intérieur de la fonction, donc lorsqu'on y accède de l'extérieur, une erreur de code apparaîtra. Le contenu de l'erreur est que la variable x n'est pas définie.

Toutes les variables
correspondent à des variables locales. Toutes les variables sont des variables créées en dehors de la fonction, c'est à dire dans la partie principale du programme. Elles sont visibles globalement.
Insérer la description de l'image ici
Dans la figure ci-dessus, x=1 est une variable globale, donc la fonction peut accéder à x en interne et renvoyer le résultat du calcul de x+x. Dans le même temps, la fonction externe peut également utiliser directement print pour lire la valeur de x et sortez-le.

Les variables globales et les variables locales
ont le même nom. Il existe une situation où toutes les variables ont le même nom que les variables locales. Dans ce cas, les variables locales seront accessibles en premier dans la fonction.
Insérer la description de l'image ici
Dans la figure ci-dessus, la variable locale x=2 et la variable globale x=1 sont définies en même temps. La fonction f() peut accéder à ces deux variables en même temps. À ce stade, les deux variables ont le même nom, donc ils seront prioritaires lors de l'exécution de la fonction f(). Lors de l'accès à la variable locale x=2, c'est-à-dire que la première sortie est 2+2, et lors de l'accès à x directement de l'extérieur, on accède à la variable globale, c'est-à-dire la la sortie de x est 1.

Si vous souhaitez d'abord accéder aux variables globales dans la fonction dans la situation ci-dessus, il vous suffit d'utiliser le mot-clé global déclaration.
Insérer la description de l'image ici
Dans la fonction ci-dessus, utilisez d'abord global pour accéder à toutes les variables x = 1, puis utilisez x = 2 pour réaffecter x. Par conséquent, la valeur de la variable globale x devient 2 à ce moment, c'est-à-dire que la première sortie est 2+2 , et la première sortie est 2 + 2. Les deux variables globales de sortie x sont également 2.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42051846/article/details/131828546
conseillé
Classement