Python Basics Tests et boucles Chaînes de caractères Python Tuples

publicité
 Python Basics Attention à l’indentation, les espaces et tabulations permettent de définir les blocs.
#Ceci est un commentaire
Types de bases:
b
nombres entiers, reels (flottants) ; Opérateurs: +, -, *, /, ** (pour puissance, a s’écrit a**b )
booléens (True, False) ; Opérateurs: or, and et not
Opérateurs de comparaison : <, >, <=, >=, ==, !=
Tests et boucles if:
if test:
#do stuff if test is true
elif test 2:
#do stuff if test2 is true
else:
#do stuff if both tests false
for:
for x in aSeq:
#faire pour chaque elt de aSeq
for x in xrange(10):
#faire 10 fois (x va de 0 à 9)
for x in xrange(5,10):
#faire 5 fois (x va de 5 à 9)
while:
while test:
#keep doing stuff until
#test is false
Chaînes de caractères creation:
accessing:
splitting:
str = “Hello World!”
str = ‘Hello World!’
str[4]
str.split(" ")
str.split("r”)!
returns ‘o’
returns [‘Hello’, ‘World!’]
returns [‘Hello’, ‘Wo’, ‘ld!’]
Pour transformer une liste en une chaîne de caractères, il faut utiliser la fonction join(). Il faut préciser le séparateur.
words = [“this”, ‘is’, ‘a’, ‘list’, ‘of’, “strings”]
‘ ‘.join(words)
returns “This is a list of strings”
‘ZOL’.join(words)
returns “ThisZOLisZOLaZOLlistZOLofZOLstrings”
‘’.join(words)
returns “Thisisalistofstrings”
Formatage: similaire à printf() en C
str = “there”
print “Hello %s!”%str
a=5
print “Hello %s %d %f”%(s, a, a)
affiche “Hello there!”
affiche “Hello there 5 5.000000”
Python Tuples Un tuple est composé de valeurs séparées par des virgules. Ces valeurs une fois définies ne sont pas modifiables. Les
tuples sont surtout utilisé pour retourner des valeurs dans les fonctions.
creation:
accessing:
emptyTuple = ()
singleItemTuple = (“spam”,) Ne pas oublier la virgule !
thistuple = 12, 89, ‘a’
thistuple = (12, 89, ‘a’)
thistuple[0]
returns 12
thistuple[1]=5 INTERDIT
Dictionnaires Un dictionnaire est un ensemble de paires key:value. Toutes les clés doivent être uniques.
creation:
accessing:
deleting:
finding:
emptyDict = {}
thisdict = {'a':5, 'b':23, 'c':'eggs'}
thisdict[‘a’]
returns 5
del thisdict[‘b’]
thisdict.has_key(‘e’)
returns True
'e' in thisdict
returns True
thisdict.keys()
returns [‘a’, ‘c’]
thisdict.items()
returns [(‘a’, 1), (‘c’, ‘eggs’)]
Manipulation des listes Un des types de données les plus importants : très flexible et ayant beaucoup de fonction prédéfinies.
creation:
thelist = [5,3,‘p’,9,‘e’]
accessing:
thelist[0]
returns 5
slicing:
thelist[1:3]
thelist[2:]
thelist[:2]
thelist[2:-1]
returns
returns
returns
returns
length:
len(thelist)
returns 5
sort:
thelist.sort()
no return value
add:
thelist.append(37)
return &
remove:
[5,3,’p’,9,’e’]
[5,3,’p’,9,’e’]
[3, ‘p’]
[5,3,’p’,9,’e’]
[‘p’, 9, ‘e’]
[5, 3]
[‘p’, 9]
[3,5,9,’e’,’p’]
[3,5,9,’e’,’p’,37]
thelist.pop()
thelist.pop(1)
returns 37
returns 5
[3,5,9,’e’,’p’]
[3,9,’e’,’p’]
insert:
thelist.insert(2, ‘z’)
[3,’z’,9,’e’,’p’]
remove:
thelist.remove(‘e’)
[3,’z’,9,’p’]
deletion
thelist[0] [‘z’,9,’p’]
concatenation:
thelist + [0]
finding:
9 in thelist r
returns [‘z’,9,’p’,0] [‘z’,9,’p’]
returns True
[‘z’,9,’p’]
Listes de listes (tableaux à 2 ou plus dimensions)
creation:
l2 = [[1,2], [‘a’,’b’],‘p’]
accessing:
l2[1]
l2[1][0]
Creation d’un tableau de taille 3x2
m=[0]*3
for i in xrange(2):
m[i]=[0]*3
print m
returns [‘a’,’b’]
returns ‘a’
affiche [[0, 0], [0, 0], [0, 0]]
Fonction def myFunc(param1, param2):
#indented code block goes here
spam = param1 + param2
return spam
Appel :
a=spam(5,7)
print a
returns 12
affiche 12
Lecture et écriture de fichiers Lecture:
thisfile = open(“datadirectory/file.txt”, ‘r’)
lesLignes=thisfile.readlines() #Parcourt le fichier et retourne la liste des lignes.
thisfile.close()
monTexte=’’
for l in lesLignes:
#Traiter chaque ligne
print l[0] #Va afficher le 1er caractère de chaque ligne)
monTexte=monTexte+l[:-1] #Concatène le texte du fichier dans la variable monTexte
#Le :-1 permet d’enlever les retours à la ligne
Ecriture:
a= ‘toto’
b=5
thisfile = open(“datadirectory/file.txt”, ‘w’)
thisfile.write(a)
#L’argument doit être une chaine de caractères
thisfile.write(‘b : %d\n’%b)
#\n est un passage à la ligne
thisfile.write(‘b : %d a : %s\n’%(b,a))
thisfile.close()
Conversion chaîne de caractere vers un autre type:
float("5.6")
returns 5.6
int("7")
returns 7
bool("True")
returns True
Scripts Ils doivent commencer par les deux lignes suivantes:
#!/usr/bin/python
# -*- coding: utf-8 -*# maFonction1: Expliquer ce que fait maFonction1
#ce que sont ses arguments...
def maFonction1(arg1, arg2, arg3) :
return arg1+arg2+arg3
#Expliquer ce que fait maFonction2 et ses arguments
def maFonction2(n) :
return n*n
#Appels de mes fonctions
print maFonction1(5,6,7)
b=maFonction2(5)
print b
Téléchargement