De la syntaxe Python se dégage un certain sentiment de facilité
: tout y a été pensé pour être réalisable rapidement, et surtout,
l'un des mots d'ordre du langage est "une seule manière d'accomplir une action" - à la
différence de Perl et son "More than one way to do it".
Les fonctions et classes Python n'échappent pas à la règle
: en dehors des espaces blancs qui déterminent le bloc de
fonction (et aussi les blocs if
ou while [lire l'article
du 11/12/2001]) et des deux-points, la construction d'une
fonction ou d'une classe est assez simple. Il suffit de poser
le mot-clef def, suivi du
nom de la fonction, et le bloc est exploitable.
Fonctions
Voici donc une fonction dans sa forme la plus basique :
def nomDeLaFonction():
print 'Nous sommes dans le bloc fonction'
print 'Nous y sommes encore'
print 'Nous n'y sommes plus'
Bien entendu, on peut inclure toutes sortes de boucles :
def nomDeLaFonction():
x = 0
while x < 10
print 'Nous sommes dans le bloc fonction'
x = x + 1
print 'Nous n'y sommes plus'
Les arguments simples sont très classiques :
def nomDeLaFonction(x, y):
while x < y
print 'Nous sommes dans le bloc fonction'
x = x + 1
nomDeLaFonction(5, 10)
print 'Nous n'y sommes plus'
Le renvoi se fait à l'aide du mot-clef return :
def colorier(animal):
return animal " blanc!"
print colorier("lapin")
Les paramètres peuvent également avoir une valeur par défaut.
Pour remplacer cette valeur par défaut, il faudra mettre les
valeurs dans l'ordre. C'est pourquoi il est préférable de
mettre les valeurs par défaut à la fin des paramètres.
def nawak(couleur='rouge', jour='mardi',
animal='lapin', fruit='pomme')
print "le " jour ", tous les " animal "s sont"
couleur
print "s car ils
mangent des " fruit "s."
nawak('vert')
nawak('jaune', 'lundi', 'crocodile')
nawak('orange', 'mercredi', 'brontosaure', 'lapin')
On peut même directement utiliser les étiquettes, pour ne
pas avoir à lister tous les autres paramètres :
nawak(animal='homme')
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Une fois un nombre conséquent de fonctions créé, il sera plus
efficace de les regrouper dans un module que l'on appellera
comme tout module Python classique.
Tout d'abord, créer un fichier
pour le module, comme monModule.py,
puis y glisser ses fonctions, enfin appeller le module au début
du fichier exploitant ces fonctions, via la syntaxe :
from monModule import *
Ou, si l'on veut être très précis
from monModule import nomDeLaFonction,
nawak
Méthodes
Les classes répondent aux même complications que les fonctions : à savoir très peu ! Le mot-clef class
suffit à les définir, tandis que les méthodes de la classes
se construisent de la même manière que des fonctions indépendantes
:
class Personne:
def __init__(self, age, sexe='homme', coulYeux='marron'):
self.age = age
self.sexe = sexe
self.coulYeux = coulYeux
def getAge(self):
return self.age
Helene = Personne(36, 'femme')
print Helene.getAge()
A noter, la fonction particulière __init__,
qui correspond au constructeur de la classe. |