Python : 1-Importation de modules : Import nom du module : fonctionne comme $ en pascal, le module importé est un objet à utiliser.
Exemple: Déclaration de fonction :
def nom_fonction (paramètres) : '''doc String''' return #optionnel
|
Remarques :- python est sensible a la casse.
- Ne pas oublier les deux points en fin de ligne, lors de la declaration d'une fonction .
- La doc Sting est la documentation de la fonction elle n’est pas essentiel donc indispensable ! elle commence et se termine par 3 guillemets.
- L’indentation est primordiale, elle définit le début et la fin du bloc (Begin est end du pascal).
- Return est optionnel (redonne none valeur nulle au cas ou).
- # pour les commentaires.
- Il n’y a pas de type de retour à préciser.
- Il n’y a pas de types de paramètres à préciser.
- Il peut ne pas y avoir de paramètres.
2-Types de données : Dictionnaires : tableau dont l’indice peut être autre qu’un entier(entier, chaine , tuple).
c'est une liste de type clé/valeurs, les valeurs peuvent etre de n’importe quel type.
Declaration :
dico = {"Chaib" : "ismail", "Boussaidi" : "Abdellah" } dico [ "Chaib" ] # pour accéder au champs valeur Ismail . dico [ "Abdallah" ] # Signale une Erreur # on ne peut pas mettre une valeur on indice erreur. dico ["Boussaidi" ] = "Abdou" # assignation d’ une nouvelle valeur. dico [ "Izemrane" ]= "Tarek"# creation d’un nouvel element. dico["Age"] = 20 # les valeurs prennent n’ importe quel type dico #Affichage du dictionnaire {'Chaib': 'ismail', 'Izemrane': 'Tarek', 'Age': 20, 'Boussaidi': 'Abdou'}
#suppression dans un dictionnaire. del dico ["Age"] # pour supprimer l’ élement selectionner. dico.clear ( ) # retourne le dictionnaire vide : notez la presence du point (.) pour signifier un appel a un membre(plus de details plus tard).
|
Remarques :- Le dictionnaire n’est pas ordonné.
- On utilise des guillemet (" ") et les deux points (:) pour separer la cle et sa valeur.
Tuple :Definition : liste d’element « figés » et « constants » , elle ne peut etre modifier.
Exemple:
Tuple =("Abdellah", "Ismail", "Tarek") Tuple[0] # comme un en C, on commence par l’ indice 0 'Abdellah' T[-1] # on peut utiliser des indices negatifs, on commence a compter a partir de la droite 'Tarek' |
Remarques :- Les tuples ne peuvent pas être modifiés (ni suppression ni ajout)
- Les tuples n’ont pas de methodes
- On peut chercher dans un tuple
- On peut utiliser in pour verifier l’existence d’un element.
- Ex : "Tarek" in Tuple donne True
- Les tuples sont généralement utiliser pour les assignations multiples
- Les tuples peuvent être des clefs pour dictionnaires
- Les tuples peuvent être convertis en listes et vice versa
- Un tuple est toujours ordonné
Les listesExemple :
Liste = ["banane", "pomme", "orange"]
|
Une liste est un ensemble ordonné d’éléments de types quelconque. Elle est modifiable
Exemple : Liste[0] 'banane' Liste[-2] # correspond à Liste[3-2] donc à Liste[1] 'pomme' Liste[0:1] # c'est ce qu'on appelle le "slice", on construit une sous-liste a partir des indices entre crochets ['banane', 'pomme']
|
Insertion et Modification :
Liste.append("raisins")# insertion en fin de liste. Liste.insert(3, "poire")#insertion a la position 3 Liste.extend(["cerise", "fraise"])# concatene une autre liste. Liste[-1]= "framboise" # renplace fraise par franboise. |
Recherche dans une liste :
Liste.index ( « bannane ») # envoi le numero d'ordre de la premiere occurence dans la liste 0 "fruit" in Liste False.
|
Suppression 3- Mutation de listes : (list comprehension) :
Liste1 = [1, 3, 7, 13] Liste2 = [i*i for i in Liste1] #donne le carré de chaque element de liste1 Liste2 # on affiche Liste2 [1, 9, 49, 169] |
Remarques
Le liste comprehension consiste a applique certains traitements à chaque element d’une liste.
Syntax :
[ element* element for element in liste] partie traitement element notre liste
de notre
liste
4 - Filtrage de listes : Definition:Il s'agit d'un mecanisme derivé des list comprehension, et qui y ajoute la possibilite de choisir les elements sur lequel les traitements seront effectués.
Liste = [3, 4, 2, 1 , 6 , 7] [element for element in Liste if element > 3 ] [4, 6, 7] |
Syntaxe : [Expression for element in liste if filtre]Remarques:- Ne pas oublier les crochets
- La premiere partie est similaire a la mutation de list
- "filtre" est une condition, si pour un element elle est verifié on applique Expression sur cet element
5 - Arguments optionnels et arguments nommés :
def Add(a, b=1, c = -3): ''' fonction qui additionne a, b et c ''' return a+b+c |
Remarque :- on peut ne pas preciser les parametres b, et c lors de l’appel de Add ils auront les valeur par defaut 1et -3
- A est obligatoire (la fonction doit avoir an moins un argument)
- L'ordre des parametres n'est pas importanttant qu'on les nomme.
- Ex. Add(b=5, a=2, c=10)
- Toutes c'est ecritures sont correctes:
Add(2, 3) # a = 2, b = 3, c = -3 Add(2, C=0) # a = 2, b = 1 , c = 0 Add(2) # a = 2, b = 1, c = -3 Add(c=4, b=8, a=1) # a = 1, b = 8, c = 4 |
6- Plus sur les parametres de fonctions : Il existe 3 types de parametres
1-parametres explicites
2-parametres non explicites
3-parametres arbitraire.
Parametres explicites :On note explicitement tout les parametres lors de la definition de fonction,on peut aussi affecter des valeurs aux parametres formeles qui seont les parametres par defauts.
Syntaxe: Fct_Avec_Parametre_Explicite(a, b ,c = "valeurs par defaults")Parametres non explicites :Python permet d’affecter à une fontion autant de parametres formels qu’on veut sans les declarer explicitement, on faites on transforme un dictionnaire(contenant les pairs parametres formels\effectifs(valeurs)) en parametres qu’on passe a la fonction.
Remarques
- On note l'utilisation de ** avant le nom du dictionaire si celui-ci n'est pas definie dans les parametres.
def Fct_Avec_Para_NonExplicite(a, b, para1 = "val1", para2 = "val2"): # signature de la fonction pass # ne rien faire Dico = [para1:"val1", para2:"val2"] Fct_Avec_Para_NonExplicite(10, 4, **Dico) #Appel de la fonction |
Parametres arbitraires:un peu comme les parametres non explicites, mais ici en regroupe tout les parametres dans un seul tuple nommé.
Exemple:
def somme(*list_entiers): '''retourne la somme de la liste d'entiers en parametres''' a = 0 for entier in list_entiers: a = a + entier return a entiers = [1, 2, 4, 5] # Notre liste d'entiers somme(*entiers) # Appel de la fonction 12 # Resultat |
Remarque :- En utilse un * avant le nom de la liste.
- On peut combiner les differents types de parametres, on commencera toujours pas le tuple puis le dictionnaire.