La fonction est une unité appelable contenant des instructions, visant à réduire la duplication de code et à organiser des tâches complexes. Il en existe deux types : les fonctions void (pas de valeur de retour) et celles qui renvoient une valeur.
Il s'agit de la structure de base de la fonction en Python.
def function_name(args): function body
Ceci est un exemple de fonction void (pas de valeur de retour) en Python.
# create a function def hello(): print("hello!") # call the function hello()
Sortie
hello!
Sur la base du code ci-dessus, la fonction appelée hello() est créée. La fonction est appelée en spécifiant le nom de la fonction suivi de parenthèses ().
Ceci est un exemple de fonction avec la valeur de retour.
# create a function with return value def add(a,b): return a + b result = add(2,4) print(result)
Sortie
6
Sur la base du code ci-dessus, la fonction appelée add() est créée pour additionner deux nombres. La valeur de retour de la fonction add() est stockée dans la variable de résultat.
Lorsque vous travaillez avec la fonction de valeur de retour, assurez-vous que la valeur renvoyée est utilisée.
La fonction en Python peut prendre plusieurs arguments de manière dynamique. Il existe deux approches pour implémenter plusieurs arguments dans une fonction :
Arguments : les multiples arguments sont implémentés dans une fonction sans spécifier les mots-clés. les arguments peuvent être implémentés en utilisant *args.
Arguments de mots-clés : les multiples arguments sont implémentés dans une fonction avec les mots-clés spécifiés. les arguments de mots clés peuvent être implémentés en utilisant **kwargs.
Les arguments et les arguments de mot-clé doivent être situés à la dernière position de la définition de l'argument dans une fonction.
Ceci est un exemple d'implémentation de plusieurs arguments utilisant l'approche des arguments pour calculer dynamiquement la somme des nombres.
def sum(*args): result = 0 for arg in args: result += arg return result print(sum(1,2)) print(sum(1,2,3)) print(sum(1,2,3,4,5,4,3,2))
Sortie
3 6 24
Sur la base du code ci-dessus, la fonction sum() peut être appelée avec un nombre différent de paramètres.
Ceci est un exemple d'implémentation de plusieurs arguments en utilisant l'approche des arguments de mots-clés.
def display_info(name,**kwargs): print("========") print(f"name: {name}") print("other informations") for k, val in kwargs.items(): print(f"{k}: {val}") print("========") display_info("john",job="programmer",company="acme inc") display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
Sortie
======== name: john other informations job: programmer company: acme inc ======== ======== name: doe other informations job: programmer company: acme inc skills: go,java,php ========
Sur la base du code ci-dessus, la fonction display_info() peut être appelée avec un nombre différent de paramètres. En utilisant **kwargs, les paramètres peuvent être définis avec les mots-clés.
Les arguments et les arguments de mots-clés peuvent être utilisés ensemble. Ceci est un exemple.
def display(*args,**kwargs): print("===========") print("items") for arg in args: print(arg) print("other information") for k, val in kwargs.items(): print(f"{k}: {val}") print("===========") display("apple","coffee","milk",payment="cash") display("TV","Camera",payment="cash",delivery="express")
Sortie
=========== items apple coffee milk other information payment: cash =========== =========== items TV Camera other information payment: cash delivery: express ===========
La fonction récursive est une fonction qui s'appelle elle-même lorsqu'elle accomplit sa tâche. La fonction récursive peut résoudre de nombreux problèmes, notamment les nombres factoriels, la séquence de Fibonacci et autres.
Il y a deux composants principaux dans une fonction récursive :
Dans cet exemple, le calcul factoriel est implémenté à l'aide d'une fonction récursive.
def function_name(args): function body
Sortie
# create a function def hello(): print("hello!") # call the function hello()
Regardons de plus près la fonction factorial(). Il y a deux composants impliqués dans cette fonction :
cas de base : l'exécution de la fonction se termine si la valeur de n est égale à 0 ou 1.
relation de récurrence : la fonction s'exécute si la valeur de n est supérieure à 1.
hello!
La fonction factorial() est illustrée dans cette image ci-dessous.
Le lambda est une fonction anonyme. Le lambda peut contenir de nombreux arguments, tout comme la fonction en général. La fonction lambda convient pour créer une petite fonction qui renvoie directement la valeur.
Ceci est un exemple de la fonction sum().
# create a function with return value def add(a,b): return a + b result = add(2,4) print(result)
C'est l'exemple d'une fonction lambda pour additionner deux nombres. La fonction lambda est stockée dans une variable appelée sum_func.
6
Pour utiliser la fonction lambda, appelez la fonction par son nom de variable.
def sum(*args): result = 0 for arg in args: result += arg return result print(sum(1,2)) print(sum(1,2,3)) print(sum(1,2,3,4,5,4,3,2))
La fonction map() exécute une fonction de rappel fournie pour chaque élément d'une liste.
Voici l'exemple de la fonction map() pour multiplier chaque nombre par 3.
3 6 24
Sortie
def display_info(name,**kwargs): print("========") print(f"name: {name}") print("other informations") for k, val in kwargs.items(): print(f"{k}: {val}") print("========") display_info("john",job="programmer",company="acme inc") display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
Sur la base du code ci-dessus, la fonction triple() agit comme un rappel pour la fonction map(), ce qui signifie que la fonction triple() est appelée pour chaque élément de la liste de numéros. Ensuite, le résultat de la fonction map() est converti en liste puis stocké dans la variable appelée result.
L'exemple ci-dessus peut être simplifié à l'aide de la fonction lambda.
======== name: john other informations job: programmer company: acme inc ======== ======== name: doe other informations job: programmer company: acme inc skills: go,java,php ========
Sortie
def display(*args,**kwargs): print("===========") print("items") for arg in args: print(arg) print("other information") for k, val in kwargs.items(): print(f"{k}: {val}") print("===========") display("apple","coffee","milk",payment="cash") display("TV","Camera",payment="cash",delivery="express")
La fonction filter() sélectionne l'élément dans une liste en fonction de la fonction de rappel donnée. La fonction filter() permet de filtrer les éléments d'une liste en utilisant la fonction de rappel fournie. La fonction filter() nécessite une fonction de rappel qui renvoie une valeur booléenne.
Voici l'exemple de la fonction filter() pour sélectionner uniquement les nombres pairs dans une liste.
=========== items apple coffee milk other information payment: cash =========== =========== items TV Camera other information payment: cash delivery: express ===========
Sortie
def factorial(n): if n == 0 or n == 1: return 1 else: return n * factorial(n-1) # call the function result = factorial(5) print(result)
Sur la base du code ci-dessus, la fonction filter() utilise is_even() comme fonction de rappel pour sélectionner les nombres pairs dans la liste.
Cet exemple peut être simplifié à l'aide de la fonction lambda.
120
Sortie
def function_name(args): function body
La fonction peut être utilisée pour supprimer les codes en double. Par exemple, il existe deux fonctions appelées register() et login(). Les deux fonctions utilisent le processus de validation.
# create a function def hello(): print("hello!") # call the function hello()
Il existe un code en double pour le processus de validation. Pour supprimer ces doublons, le processus de validation peut être enveloppé dans une fonction distincte.
hello!
La fonction validate() peut être utilisée dans les fonctions register() et login().
# create a function with return value def add(a,b): return a + b result = add(2,4) print(result)
Basé sur le code ci-dessus, le code est plus propre et plus facile à modifier car si les règles de validation supplémentaires sont mises à jour, les règles de validation peuvent être mises à jour en un seul endroit (à l'intérieur de la fonction validate()).
Voici les conseils clés lorsque vous travaillez avec une fonction en Python.
La fonction doit accomplir une seule tâche. Si plusieurs tâches sont requises, créez une fonction distincte pour les autres tâches.
Le nombre maximum d'arguments de fonction est de 3. Si les arguments semblent supérieurs à 3, pensez à utiliser un objet de données dédié pour l'argument de fonction.
Le nombre maximum d'arguments de fonction semble discutable.
Voici l'exemple de la fonction create_account() utilisant des arguments.
6
La fonction create_account() peut être modifiée pour utiliser un objet de données pour un code plus propre.
def sum(*args): result = 0 for arg in args: result += arg return result print(sum(1,2)) print(sum(1,2,3)) print(sum(1,2,3,4,5,4,3,2))
Ceci est un exemple d'utilisation de la documentation dans une fonction.
3 6 24
J'espère que cet article vous aidera à apprendre Python. Si vous avez des commentaires, n'hésitez pas à me le faire savoir dans la section commentaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!