Академический Документы
Профессиональный Документы
Культура Документы
Lucie Chartreau
LMAT1BA 2020
.
Intégration de code sur LaTeX :
http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf
TABLE DES MATIÈRES
2 Variables. 1
2.1 Listes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Dictionnaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Fonctions. 3
3.1 Boucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Classes. 3
4.1 Héritage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Méthodes magiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5 Files 4
1
Variables.
1 Le langage.
Voir vidéo youtube 1 pour language de base.
Les commentaires commencent par # ; les descriptions de fonctions comme """description""".
Les descriptions de fonctions sont accessibles via help(function).
Imports :
— Imports de modules :
>import name_module # Importe le module entier.
>from name_module import * # Importe les fonctions.
— Imports de modules sans l’interface utilisateur :
1 im por t a s t
2 im por t t y p e s
3 im por t s y s
4 with open ( " pck . py" ) a s f : # pck . py = nom p a c k a g e
5 p = ast . parse ( f . read ( ) )
6
7 f o r node i n p . body [ : ] :
8 i f not i s i n s t a n c e ( node , a s t . F u n c t i o n D e f ) : # FunctionDef => C l a s s D e f
9 p . body . remove ( node )
10
11 module = t y p e s . ModuleType ( "mod" )
12 code = c o m p i l e ( p , "mod . py" , ’ e x e c ’ )
13 s y s . modules [ "mod" ] = module
14 e x e c ( code , module . __dict__ )
15
16 im por t mod
2 Variables.
None int -> entier complex tuple -> (x,y)
bool -> True/False float -> virgule str -> caractères
1. https ://www.youtube.com/watch ?v=rfscVS0vtbw&t=2273s : Learn Python Full Course for Beginners [Tutorial] (by :freeCodeCamp.org)
1
Variables.
Opérations
— Str
\0 ajoute un caractère interdit sans compromettre le code. \n renvoie à la ligne.
str(a) + str(b) = str(a b) et str(a) * 3 = str(a a a)
— Int et float
x += y append x by y
x ** 2 = x2 ⇔ pow(x,2)
// : division entier ; % : reste
comparaisons : >, <, =, >=, <=
combinaisons : and or not
2
Variables.
2.1 Listes.
Listes
count(sub[, start[, end]]) Compte le nombre d’occurrences de sub (str), start et end per-
mettent de réduire la recherche (start et end exclus).
len(l) nombre d’éléments de l
find(sub[, start[, end]]) Recherche sub (str). Retourne -1 si non abouti
l.index(x) Retourne l’indice du premire x de l
x in s vrai si x est un des éléments de l
split([sep[ , ]]) Découpe la chaîne de caractères en se servant de la chaîne sep
comme délimiteur.
join(liste) Agglutine tous les éléments d’une liste séparés par sep dans l’ex-
pression sep.join([”un”, ”deux”]).
replace(old, new[ , ]) Remplace les occurrences de la chaîne old par new.
upper() et lower() Remplace les minuscules par des majuscules et inversement.
l[i : j] retourne une liste des éléments d’indices i à j exclu.
l[i] = ”x” remplace l’élément i par x.
min(l) et max(l) plus petit/grand élément de l, résultat difficile à prévoir lorsque
les types des éléments sont différents
sum(l) retourne la somme de tous les éléments
l.remove(x) supprime le premier x de l.
del l[i : j] supprime les éléments d’indices entre i et j exclu.
l.append(x) Ajoute x à la fin de l (x liste ou str).
l.extend(k) Ajoute k à la liste l.(k liste)
l.insert(i, x) Insère x en i dans l.
l.sort([f]) Cette fonction trie la liste par ordre croissant (f fonction de com-
paraison facultative).l
l.pop([i]) Retourne l[i] et le supprime de l (i facultatif, sinon dernier élément).
l.reverse(x) Retourne la liste.
2.2 Dictionnaires.
append un dico : 2
1 d i c o = {}
2 d i c o [ ’ key ’ ] = {}
2. dictionairies can help map a matrix
3
Classes.
3 d i c o [ ’ key ’ ] [ ’ x ’ ] = y
4 { " key " : { "x" : y }}
Opérations :
1 d e l d i c o [ " key1 " ] # d e l e t e key & v a l u e s
2 d i c o [ " key2 " ] = 0 # v a l u e s can be changed t h i s way
3 d i c o [ " keyx " ] += z # append a l r e a d y e x i s t i n g v a l u e
4 len ( dico ) # nb o f k e y s
5 dico . keys ( ) # return only the keys
6 dico . items () # convert into tuple l i s t
7 copy = d i c o . copy ( ) # t o k e e p a copy o f t h e o r i g i n a l
3 Fonctions.
1 d e f f 1 ( arg1 , arg2 , . . . ) :
2 # fonction
3 return . . . # ignorer l a fonction : pass
3.1 Boucles.
1 f o r i in range (x , y , z ) : # p a r c o u r t t o u s l e s e n t i e r s de x a y de z en z
2 for e in l s t : # p a r c o u r t t o u s l e s e l e m e n t s de l a l i s t e l s t
4 Classes.
Voir playlist youtube 3 pour explication détaillée. Toutes les fonctions dans une classe doivent commencer par (self, ...).
3. https ://www.youtube.com/watch ?v=ZDa-Z5JzLYM&list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc : python oop tutorial working with classes
(by : Corey Schafer)
4
Classes.
1 c l a s s nom_classe :
2 d e f __innit__ ( s e l f , a t t r i b u t 1 , a t t r i b u t 2 = None . . . ) :
3 s e l f . attribut1 = attribut1
4 i f a t t r i b u t 2 i s None : # variable facultative
5 s e l f . attribut2 = False
6 i f t v a i s not None :
7 s e l f . attribut2 = attribut2
Actions à l’exterieur des fonctions Imprimer le résultat d’une fonction : deux méthodes. 4
1 p r i n t ( var_1 . a t t r i b u t 1 . f c t i o n ( ) ) # Ou f c t i o n e s t une f o n c t i o n dans c l a s s e
2 p r i n t ( c l a s s e . f c t i o n ( var_1 ) )
modifier à une variable intégrée dans une classe, dans le but de la modifier :
1 # (Ou v r i e s t une v a r i a b l e i n t e g r e e dans l a c l a s s e . )
2 nom_classe . v r i = v a l e u r n o u v e l l e # M o d i f i e l a v a l e u r en g e n e r a l .
3 var_1 . v r i = v a l e u r n o u v e l l e # M o d i f i e s e u l e m e n t pour var_1
4.1 Héritage.
1 class cl1 :
2 d e f __init__ ( s e l f , d , p ) :
3 s e l f . __description = d
4 s e l f . __prix = p
5 class cl2 ( cl1 ):
6 d e f __init__ ( s e l f , d , p , z ) :
7 s u p e r ( ) . __init__ ( d , p )
8 s e l f . __z = z
4. Attention à toujours mettre fction() et non fction sinon le programme retourne une méthode
5
Algorithmes utiles, pour gagner du temps.
5 Files
readfile : (Voir Mission_7 pour les commentaires.)
1 def open_file ( filename ) :
2 b = str ( str ( filename ) + " . txt ")
3 try :
4 f i l = open ( b , " r " )
5 except FileNotFoundError :
6 f i l = open ( b , "w+" )
7 f i l = open ( b , " r " )
8 return f i l
9
10
11 def read_file ( filename ) :
12 f i l = open_file ( filename )
13 l = f i l . readlines ()
14 i f l == [ ] :
15 r e t u r n " f i l e ␣ i s ␣empty"
16 return l
1 d e f b i n a r y _ s e a r c h ( name , l i s t _ o f _ n a m e s ) :
2 first = 0
3 l a s t = l e n ( list_of_names ) − 1
4 found = F a l s e
5 w h i l e f i r s t <= l a s t and not found :
6 m idd le = ( f i r s t + l a s t ) // 2
7 i f l i s t _ o f _ n a m e s [ m id dl e ] == name :
8 found = True
9 else :
10 f i r s t = m id dl e + 1
11 r e t u r n found
6
Algorithmes utiles, pour gagner du temps.
6.3 Liste de mots dans un str, sans capitales et sans caractères spéciaux.
caractères_spéciaux = str( 0 ()[] − |‘ = +∗! :; , ?./ <> / &#_)
1 d e f get_words ( s t r i ) :
2 z = s t r i . r e p l a c e ( " \n" , " " )
3 a = z . t r a n s l a t e ( s t r . maketrans ( ’ ’ , ’ ’ , c a r a c t e r e s _ s p e c i a u x ) )
4 b = a . s p l i t ( "␣" )
5 return b
7
Algorithmes utiles, pour gagner du temps.
1 d e f f i n d _ l i n e s ( item , l i s t ) : # C e t t e f o n c t i o n e s t a u x i l i a i r e a c r e a t e _ i n d e x
2 f = []
3 f o r i in range (0 , len ( l i s t ) ) :
4 i f item i n l i s t [ i ] :
5 f += [ i ]
6 return f