Les fonctions
Jusqu'à présent, nous avons écrit tout notre code dans app.py, mais à mesure que nos programmes se développent, nous avons besoin d'une meilleure façon d'organiser notre code. Nous devons diviser notre code en morceaux plus petits, plus gérables et plus maintenables que nous appelons des fonctions. La fonction est un conteneur pour quelques lignes de code qui exécutent une tâche spécifique.
Par exemple, vous avez déjà découvert quelques fonctions intégrées dans Python print()
ainsi que input()
. Chaque fonction a un but et sait comment effectuer une tâche spécifique. Ainsi, lorsque nous construisons de grands programmes complexes, nous devons diviser notre code en petits morceaux réutilisables, c'est-à-dire des fonctions.
Comprenons ce concept en construisant un programme pour imprimer un message d'accueil.
print('Hi there!')
print('Welcome aboard!')
Ici, nous avons un programme simple avec seulement deux lignes de code. Maintenant, disons, nous allons en avoir besoin dans d'autres programmes pour les mettre dans une fonction que nous pouvons réutiliser.
Permettez-moi d'introduire un mot-clé réservé def
en Python, qui est l'abréviation de définir et est utilisé pour définir une fonction.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Maintenant ce bloc de code va définir une fonction "greet_user
” avec les lignes de codes après ça. Chaque fois que cette fonction est appelée, ces deux lignes seront exécutées. Utilisons ceci :
print('start')
greet_user()
print('finish')
Le programme est exécuté séquentiellement, ce qui signifie que vous devez définir une fonction avant de l'appeler dans le programme.
Paramètres
Les fonctions définies fonctionnent un peu différemment des fonctions intégrées de Python. Par exemple, dans le cas de print()
une fonction, elle prend certaines informations que nous voulons imprimer, mais notre fonction greet ne prend aucune information. Ne serait-ce pas plus agréable si vous pouviez passer le nom de l'utilisateur ici et ensuite, au lieu de dire "bonjour", vous pouviez imprimer le nom de l'utilisateur ?
Vous pouvez le faire en ajoutant les paramètres à l'intérieur des parenthèses de la fonction définie. Laisse moi te montrer:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Maintenant le "name
" à l'intérieur de la parenthèse agira comme une variable locale et nous pouvons passer le nom de l'utilisateur lors de son appel.
greet_user('Shahbaz')
Maintenant, le paramètre de nom est défini sur "Shahbaz
”. Modifions le programme pour en faire usage.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Une chose importante à noter est que le "nom" dans la première ligne est appelé un paramètre alors que le nom fourni, c'est-à-dire Shahbaz, est appelé un argument.
Allons-y et exécutons ce programme.
Ainsi, avec ces paramètres, nous pouvons recevoir des informations dans nos fonctions.
Maintenant, faisons quelque chose d'intéressant. Supposons que vous souhaitiez ajouter un autre nom au message d'accueil. C'est simple.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Notez maintenant que lorsqu'une fonction a un paramètre, nous sommes obligés de passer une valeur pour ce paramètre. Si vous supprimez le nom de la fonction et exécutez le programme, nous obtiendrons une erreur. Vous pouvez également utiliser plusieurs paramètres dans une même fonction, séparés par une virgule.
Par exemple, greet_user(first_name, last_name):
. Les arguments seront également formatés de la même manière.
Arguments de mots clés
Jusqu'à présent, nous avons appris que chaque fois que nous définissons des paramètres pour nos fonctions, nous devons toujours fournir des valeurs, sinon nous obtenons une erreur. Dans le dernier programme, les arguments 'Shahbaz'
ainsi que 'Bhatti'
sont appelés arguments de position, ce qui signifie que leur position ou leur ordre est important dans le programme.
En Python, nous avons un autre type d'argument appelé arguments de mots-clés, pour lesquels la position n'a pas d'importance. Laissez-moi vous montrer comment ils fonctionnent.
Regardez le dernier programme. Nous pouvons le modifier comme ceci :
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Maintenant le first_name
ainsi que last_name
sont les paramètres des mots-clés. Vous pouvez changer de place et le résultat sera le même.
Maintenant, cela ne signifie pas que nous devrions toujours utiliser des arguments de mots-clés. La plupart du temps, nous utilisons des arguments de position, mais dans certaines situations, ces arguments de mots-clés nous aident à améliorer la lisibilité de notre code.
Il y a encore une chose que vous devez savoir sur les arguments de mots-clés. Les arguments de mot-clé doivent toujours venir après les arguments de position.
Déclaration de retour
Jusqu'à présent, nous avons appris à créer des fonctions et à leur envoyer des informations à l'aide de leurs paramètres. Apprenons maintenant à créer des fonctions qui renvoient des valeurs. Ceci est particulièrement utile si vous effectuez des calculs et que vous souhaitez renvoyer le résultat à la personne qui utilise votre fonction. Laisse moi te montrer.
Définissons une fonction qui calculera le carré d'un nombre.
def square(number):
return number*number
Nous avons utilisé l'instruction return pour renvoyer ce nombre en dehors de la fonction. Maintenant, si nous appelons cette fonction, elle renvoie une valeur comme le input()
fonction. Imprimons-le sur le terminal.
Vous pouvez affirmer que le même résultat peut être obtenu sans utiliser l'instruction return. Regardons ça.
Nous voyons deux choses, le chiffre 9 et aucun. Que se passe-t-il ici?
Lorsque l'interpréteur Python exécute ce code, il appelle d'abord la fonction square et le contrôle se déplace vers la fonction. Ici, nous calculons le carré de ce nombre donné, puis l'imprimons sur le terminal.
Désormais, par défaut, toutes les fonctions renvoient la valeur none. Donc, si nous n'avons pas d'instruction de retour ici, par défaut, Python n'en renvoie aucune. None est un objet qui représente l'absence d'une valeur. C'est comme rien ou null en C, C++, Java et Javascript.
Emballer!
J'espère que vous avez compris l'importance des fonctions.
Ils constituent un aspect important de l'apprentissage de Python si vous envisagez d'écrire des programmes volumineux et complexes au cours de votre carrière dans le codage.
Soyez sympa! Laissez un commentaire