Le blog de Fatiha

Une geek de plus !

Utilisation de fonctions prédéfinies en python

 

Nous allons apprendre aujourd’hui comment utiliser les fonctions prédéfinies en python. C’est le 4e article de la série consacrée à l’apprentissage du langage python (lire le 1er article, le 2e article et le 3e article). Nous allons prendre deux exemples : les fonctions mathématiques et les fonctions de date.

Le 1er exemple consiste à demander à l’utilisateur de saisir un nombre au clavier puis le programme lui calcule la racine carrée de ce nombre. Nous utilisons ici le module math.

from math import *

print "Tapez un nombre :",
nombre = int(raw_input())
print 'La racine carree de ', nombre, 'est : ', sqrt(nombre)

En indiquant from math import * nous lui demandons d’importer toutes les fonctions du module math. Nous pouvions aussi lui demander uniquement la fonction sqrt en tapant : from math import sqrt

Lançons le programme et voyons ce que ça donne :

 

Maintenant que nous avons compris le principe, passons maintenant aux fonctions de date en important le module datetime.

from datetime import *

# je cree ma variable contenant la date du jour
dateDuJour=datetime.now()

print 'Date du jour avec la fonction today :', date.today()
print 'Date du jour avec la fonction now :', datetime.now()
print 'Formatage de la date du jour avec la fonction strftime qui prend en parametre le format de la date :', dateDuJour.strftime("%d %B %Y %I:%M%p")

Dans un prochain article, nous verrons comment créer nos propres fonctions.

Sources :

Séquence howto du jour : Fonctions en ksh

 

Comment coder une fonction en ksh sous Linux ? Quelle est la syntaxe à utiliser ?

Pour définir une fonction en ksh on utilise les mots-clés suivants :

function myFunction

{

#code of my function

}

L’appel se fait de plusieurs manières, j’ai choisi celle-ci :

`myFunction`

Assez discuté, passons à un cas pratique. J’ai un fichier de logs à analyser. Je veux récupérer le nombre de fois que les expressions ERROR, WARNING et INFO apparaissent.

#!/bin/ksh

# prend en paramètre une chaîne de caractères
# ici c'est une expression qui doit être recherchée dans un fichier de logs
function returnNumber
{
 # $1 est le paramètre passé à la fonction
 pattern=$1
 number=`grep -c "${pattern}" test.log`
 echo ${number}
}

# on appelle la fonction avec des anti-quotes
# et en paramètre le pattern à rechercher dans le fichier de logs
echo "`returnNumber ERROR` fois ERROR"
echo "`returnNumber WARNING` fois WARNING"
echo "`returnNumber INFO` fois INFO"

J’exécute le script :

Pour en savoir plus sur les fonctions en ksh :