From MAPSI

Main: TutoPythonFonctions

Retour vers le tutoriel complet

Définition d'une fonction

def theta(x):           # signature classique
    """                  
    Scalar implemenation of the Heaviside step function.
    """

    if x >= 0:
        return 1
    else:
        return 0

Les commentaires du début permettent d'utiliser l'aide en ligne:

  >>> help(theta)
  Help on function theta in module __main__:

  theta(x)
      Scalar implemenation of the Heaviside step function.

Usage classique:

a = theta(-2)
b = theta(5)

Application sur un vecteur (mapping):

theta_vec = np.vectorize(theta)         # notation fonctionnelle (fonction sur des fonctions)
res = theta_vec(np.array([-3,-2,-1,0,1,2,3]))

Retours multiples: utiliser des tuples

def minmax(x):                 # signature classique
    """                  
    retourner le min et le max d'un vecteur
    """

    return (x.min(), x.max())  # retourner deux choses

# usage:
monmin,monmax = minmax(y)      # recuperation des deux valeurs

Fonctions dans divers fichiers

fichier : maFonction.py

def moyenne(x):     # definition d'une fonction
    return x.mean()

fichier : main.py

import numpy as np
from maFonction import * # import à déclarer

r=np.random.rand(100)
print moyenne(r)         # usage de la fonction

Arguments par défaut

def monTest(x=1):        # syntaxe pour les arguments par défaut
    if x == 1:
        print "x est 1"      
    print "je sors"
    return

monTest(2)               # usage classique
monTest(x=2)               # usage classique en nommant les arguments
monTest()                # usage avec argument par défaut

La table INSEE suivante donne lien

Questions:

Charger les données à l'aide du code suivant et vérifier la première ligne ainsi que les dimensions de la matrice

file = "agepopulation.csv"
data = np.loadtxt(file)

Dans le fichier fonctionHistogramme.py, développer une méthode qui regroupe les données par intervalles (l'intervalle étant paramètre par les arguments de la méthode).

Tester dans le script de base que vous êtes capable d'accéder à cette méthode. Tracer l'histogramme resultant du regroupement par intervalles de 5 ans.

Retrieved from http://webia.lip6.fr/~mapsi/pmwiki.php?n=Main.TutoPythonFonctions
Page last modified on September 08, 2014, at 10:45 AM EST