Python permet de manipuler deux catégories de types:
>>>5
5
nombre avec des opérateurs mathématiques
>>> 5+6
11
>>>5.23 * 6.1
31.9030000000000002
>>>5.5 +5.5
11.0
>>>True
True
>>>"True"
'True'
>>> 5 == 5
True
>>> 7>10
False
Opérateurs addition, soustraction, multiplication et division
+, -, *, /, %, //
Opérateurs puissance, valeur absolue, ...
**, pow, abs, ...
Opérateurs de comparaisons
==, is, !=, is not, >, >=, <, <=
Opérateurs bitwise
&, ^ , |, <<, >>
Opérateurs logiques
or, and, not
>>>str(5)
'5'
>>>str5.6)
‘5.6’
>>>str(True)
'True'
>>>int("3")
3
>>>int("5.6") ==>erreur
>>>float("5.6")
5.6
>>>bool("True")
True
random
import random
dmg = random.randrange(valeur_min,valeur_max)
eval("5+3")==>8
eval(print("hello")) ===> hello
Une chaine de caractère est une séquence de caractères encadrés par des côtes '' ou des guillemets ""
>>> "5"+"6"
‘56'
>>> "je suis une chaine"
'je suis une chaine'
>>> 'je suis une chaine'
'je suis une chaine'
>>> "j'ai bien compris"
"j'ai bien compris"
>>> 'J\'ai toujours la meme chose'
"J'ai toujours la meme chose"
>>> """je suis
... une chaine
... sur plusieurs
... lignes ... """
'je suis\nune chaine\nsur plusieurs\nlignes ... '
>>> s = 'i vaut'
>>> i = 1
>>> print (s + ' ' + str(i) )
i vaut 1
>>> print ('*-'*5 )
*-*-*-*-*-
Accès au caractères:
>>> "bonjour"[0] #première lettre de la chaine
'b'
>>> "bonjour"[3];
'j'
>>>"bonjour"[-1] #dernière lettre de la chaine
'r'
Sous-chaine:
début:fin:pas
>>> "bonjour"[3:5] #caractères commence de l'indice 3 jusqu'a 5(non inclu)
'jo'
>>> "bonjour"[:] #copie toute la chaine aussi [::]
'bonjour'
>>> "bonjour"[2:]; "bonjour"[:3] #de caractère d'indice 2 jusqu'a la fin de la chaine
'njour'
'bon'
>>>"bonjour"[:3]
'bon'
>>>"bonjour"[1:-1]
'onjou'
>>> 'bonjour'[-1::-1] #commence de dernier caractère avec un pas=-1 au début de la chaine
'ruojnob'
>>>ch='bonjour'
>>>ch[0]='B' # ERREUR le type chaine est immutable(inchangeable)
Remarque:
La modification directe d'un caractère (ou une partie de la chaine) n'est pas permise en python
pour palier à ce problème, on peut créer une nouvelle chaine comportant les modifications:
>>>ch2='B'+ch[1:]
>>>ch2
'Bonjour'
>>>["Movie", "Musique", "games"]
['Movie', 'Musique', 'games']
>>>["Movie", "Musique", "games"][0]
'Movie'
>>>print ("I like "+["Movie", "Musique", "games"][1])
I like Musique
>>>print ("I like ",["Movie", 6, "games"][1])
I like 6
Les tableaux sont des conteneurs qui ne peuvent être utilisés que si le module numpy est installé et chargé. Python autorise les types suivants pour les tableaux:
entier,réel, booléen et nombre complexe.
Les tableaux sont des conteneurs séquentiels (ordonnés) et modifiable (mutables).
*Création directe:
>>>from numpy import *
>>>a=array([4,3,6])
>>>a
array([4,3,6])
*tableau vide:
>>>e=empty(3)
>>>e
array([4.23e-32,0.,0.])
*Des zéros partout:
>>>z=zeros(4);z
array([0.,0.,0.,0.])
*Des uns partout:
>>>z=ones(4);z
array([1.,1.,1.,1.])
*Création par à partir d'un intervalle:
>>>a=arange(7) # arange= array range
>>>a
array([0, 1, 2, 3, 4, 5, 6])
>>>a=arange(2.);a
array([0., 1.])
>>>a=arange(1,10,2);a
array([1, 3, 5, 7, 9])
>>>a=arange(0.,1.,.25);a
array([0., 0.25, 0.5, 0.75])
même système d'indexation que les listes
>>>a
array([0,1,2,3,4,5,6])
>>>a[0];a[size(a)-1]
0
6
>>>a[-1];a[-size(a)]
6
0
>>>a[:4]
array([0,1,2,3])
>>>a[3:]
array([3,4,5,6])
>>>a[1::2]
array([1,3,5])
>>>a
array([0,1,2])
>>>append(a,20)
array([0,1,2,20])
>>>a[0]=9
>>>a
array([9,1,2])
>>>a=array([[1,2,3],[5,6,4]]) #array([[ligne1],[ligne2]])
>>>a array([[1,2,3], [5,6,4]])
>>>{"name" :"Nick", "age":27 , "Hobby" :"code"}
{'name': 'Nick', 'age': 27, 'Hobby': 'code'}
>>>{"name" :"Nick", "age":27 , "Hobby" :"code"}["name"]
‘Nick'
>>>{"name" :"Nick", "age":27 , "Hobby" :"code"}["age"]
27