Maison > développement back-end > Tutoriel Python > Tutoriel Python - onction

Tutoriel Python - onction

DDD
Libérer: 2025-01-06 13:52:40
original
246 Les gens l'ont consulté

Introduction

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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()
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sortie

hello!
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sortie

6
Copier après la connexion
Copier après la connexion
Copier après la connexion

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.

Arguments et arguments de mots clés

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))
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sortie

3
6
24
Copier après la connexion
Copier après la connexion
Copier après la connexion

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")
Copier après la connexion
Copier après la connexion

Sortie

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========
Copier après la connexion
Copier après la connexion

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")
Copier après la connexion
Copier après la connexion

Sortie

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========
Copier après la connexion
Copier après la connexion

Fonction récursive

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 :

  • Cas de base : le cas de base définit le moment où la fonction est arrêtée.
  • Relation de récurrence : la relation de récurrence définit le processus récursif de la fonction.

Dans cet exemple, le calcul factoriel est implémenté à l'aide d'une fonction récursive.

def function_name(args):
    function body
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sortie

# create a function
def hello():
    print("hello!")

# call the function
hello()
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!
Copier après la connexion
Copier après la connexion
Copier après la connexion

La fonction factorial() est illustrée dans cette image ci-dessous.

Python Tutorial - unction

Lambda

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)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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))
Copier après la connexion
Copier après la connexion
Copier après la connexion

Carte et filtre

Fonction de carte

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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")
Copier après la connexion
Copier après la connexion

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
========
Copier après la connexion
Copier après la connexion

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")
Copier après la connexion
Copier après la connexion

Fonction de filtre

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
===========
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion

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
Copier après la connexion

Sortie

def function_name(args):
    function body
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exemple - Supprimer les codes en double

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()
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion
Copier après la connexion

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()).

Conseils

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
Copier après la connexion
Copier après la connexion
Copier après la connexion

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))
Copier après la connexion
Copier après la connexion
Copier après la connexion
  • Utilisez la documentation pour expliquer la description de la fonction. La documentation peut être ajoutée en utilisant la syntaxe """.

Ceci est un exemple d'utilisation de la documentation dans une fonction.

3
6
24
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sources

  • Arguments et arguments de mots clés en fonction
  • Illustrations de fonctions récursives

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal