Le blog de Fatiha

Fan d'open source : Linux Fedora, Android, Firefox, MySQL, Gimp, php, python, … Je suis de près les actus du web.

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 :