PYTHON 3 : FONCTIONS

1. Afficher une valeur - print()
La fonction print(...) écrit dans un script permet d'afficher dans la console une chaîne de caractère, une valeur ou tout autre type de variable.
Exemple :
                        
print("Hello world") # une chaîne de caractère sans " " ou ' ' renvoit une erreur de syntaxe
print(5.09)
                        
                    
La fonction print(...) peut également faire apparaître la valeur d'une variable.
Exemple :
                        
age = 5
print("J'ai", age, "ans.")
                        
                    
2. Demander une valeur à un utilisateur - input()
La fonction input(...) fait apparaître une pop-up avec une zone de saisie. Exemple :
                        
prenom = input("Quel est votre prénom ?")
print("Votre prenom est", prenom,".")
                        
                    
La fonction input(...) renvoie toujours une chaîne de caractères. Si vous souhaitez que l'utilisateur entre une valeur numérique, et l'utiliser comme tel (calcul), vous devrez la convertir en une valeur numérique int(...) pour un nombre entier ou float(...) pour un nombre réel. Exemple :
                        
age = int(input("Quel age avez-vous ?"))
print("Dans 3 ans, vous aurez donc", age + 3,"ans.")
                        
                    
Il existe beaucoup d'autres fonctions prédéfinies, elles sont soit rattachées à un type spécifique ; soit en vue de faciliter la réaliation d'un algorithme. Nous les utiliserons potentiellement dans les différentes applications complexes.
3. Définir et utiliser sa propre fonction
Création d'une fonction
Certaines fonctions n'ont d'intérêt que dans l'application que l'on souhaite développer. Elles sont créés pour deux raisons :
  • Réutiliser à de nombreuses reprises une même suite d'instructions ;
  • Simplifier son code en le structurant (plus facile à corriger et à améliorer).
Une fonction est une suite d'instructions réunie sous un nom de fonction. Cette fonction peut prendre une ou plusieurs "valeurs" (de tout type) que l'on appelle paramètres en entrée (ou n'en prendre aucun).

En Python, une fonction a toujours la structure suivante :
                    
def nom_fonction(parametre1, parametre2) :
    instruction1
    instruction2
    etc.
    return valeur_retournee
                    
                
On choisira un nom_fonction significatif. On évitera de commencer par une majuscule, réservé à l'appellation des objets. Voici quelques exemples :
  • Fonction prenant plusieurs paramètres :
                                    
    def bonjourFamille(nom_famille, nbre_enf) :
        return 'Bonjour à la famille' + nom_famille + 'et à leur(s)' + str(nbre_enf) + 'enfants.'
                                    
                                
    On remarque ici deux paramètres de type différent : nom_famille est une chaîne de caractères, et nbre_enf est un entier.
    La fonction retourne une chaîne de caractère, grâce à l'instruction return. On dit de la fonction qu'elle renvoie une valeur.

  • Fonction ne prenant pas de paramètre :
                                    
    import random
    def nbreAleatoire() :
        nbre_alea = random.randint(1, 10)
        return nbre_alea * 2
                                    
                                
    On remarque ici qu'il n'y a pas de paramètre en entrée. Une variable est créée à l'intérieur de la fonction.
    Une fonction peut également retourner un calcul.

  • Procédure :
                                    
    def bonjourFamille(nom_famille) :
        print('Bonjour à la famille', nom_famille,'.')
                                    
                                
    Une procédure se distingue d'une fonction car elle ne retourne rien (pas d'instruction return).
Exécuter une fonction personnalisée
Pour vérifier que la fonction créée fonctionne correctement, il va être nécessaure de l'appeler, en vue de l'exécuter.
Pour cela, il existe plusieurs manières de procéder :
  • Dans l'éditeur :
                                
    print(nom_fonction(parametre1, parametre2))
                                
                            
    ou
                                
    resultat = nom_fonction(parametre1, parametre2)
    print(resultat)
                                
                            
  • Dans la console : Pour qu'un résultat s'affiche, il est nécessaire d'éxecuter le script dans l'éditeur au préalable.
                                
    >>> nom_fonction(parametre1, parametre2)
                                
                            
    Astuce : pour tester la même fonction avec différents paramètres, dans la console, vous pouvez utiliser la flèche du haut pour recharger la ligne précédemment écrite, en vue de la modifier.