Teaching - RFIDEC


RFIDEC

Examen de milieu de semestre:

Voir la page de C. Gonzales:

http://webia.lip6.fr/~gonzales/teaching/rfidec/index.php

Examen de fin de semestre:

  • Droit aux notes de cours et aux slides
  • Le programme commence aux cours de P. Gallinari.
  • Les slides sont sur la page de P. Gallinari ainsi que l'exam corrigé de l'an dernier.

http://www-connex.lip6.fr/~gallinar/Enseignement/Enseignement.html

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"

monTest(2)               # usage classique
monTest()                # usage avec argument par défaut