Python – Les Bases Tests et boucles Chaînes de caractères Python

publicité
Python – Les Bases
Attention à lʼindentation, les espaces et tabulations permettent de définir les blocs.
#Ceci est un commentaire
Types de base:
int, float ; Opérateurs: +, -, *, /, ** (pour puissance, ab sʼécrit a**b )
bool (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
création:
accès:
Découpage:
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”%(str, 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és pour retourner des valeurs dans les fonctions.
création:
accès:
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 clé:valeur. Toutes les clés doivent être uniques.
création:
accès:
délétion:
recherche:
emptyDict = {}
thisdict = {'a':5, 'b':23, 'c':'eggs'}
thisdict[‘a’]
returns 5
del thisdict[‘b’]
supprime la paire ('b':23)
thisdict.has_key(‘e’)
returns True
'e' in thisdict
returns True
thisdict.keys()
returns [‘a’, ‘c’]
thisdict.items()
returns [(‘a’, 5), (‘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.
création:
accès:
découpage:
thelist = [5,3,‘p’,9,‘e’]
thelist[0]
thelist[1:3]
thelist[2:]
thelist[:2]
thelist[2:-1]
taille:
len(thelist)
tri:
thelist.sort()
ajout:
thelist.append(37)
supprime et retourne:
thelist.pop()
thelist.pop(1)
insertion:
thelist.insert(2, ‘z’)
suppression:
thelist.remove(‘e’)
concaténation:
thelist + [0]
recherche:
9 in thelist
[5,3,’p’,9,’e’]
returns 5
[5,3,’p’,9,’e’]
returns [3, ‘p’]
[5,3,’p’,9,’e’]
returns [‘p’, 9, ‘e’]
returns [5, 3]
returns [‘p’, 9]
returns 5
no return value
[3,5,9,’e’,’p’]
[3,5,9,’e’,’p’,37]
returns
returns
X
X
returns
returns
37
5
[3,5,9,’e’,’p’]
[3,9,’e’,’p’]
[3,’z’,9,’e’,’p’]
[3,’z’,9,’p’]
[‘z’,9,’p’,0] [‘z’,9,’p’]
True
[‘z’,9,’p’]
Listes de listes (tableaux à 2 dimensions ou plus)
création:
accès:
l2 = [[1,2], [‘a’,’b’],‘p’]
l2[1]
returns [‘a’,’b’]
l2[1][0]
returns ‘a’
Création dʼun tableau de taille 3x2
m=[0]*3
for i in xrange(3):
m[i]=[0]*2
print m
affiche [[0, 0], [0, 0], [0, 0]]
Fonctions
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 b1
1
Fiche fortement inspirée de http://www.cogsci.rpi.edu/~destem/gamedev/python.pdf
Téléchargement