Les entiers sont des nombres qui s’étendent sur une machine 32 bits entre les valeurs -2e31+1 et 2e31-1, soit entre -2147483647 et 2147483647.
Les entiers longs sont eux limités uniquement par la capacité mémoire de la machine.
Ils sont représentés de la même manière que les entiers mais sont suffixés de la lettre L.
Depuis la version de 2.4 un nombre entier est automatiquement transtypé s'il dépasse la plage autorisée.
>>> a = 2 + 1j >>> b = 1 + 2j >>> a+b (3+3j) >>> a.imag 1.0 >>> a.real 2.0 >>> a.conjugate() (2-1j)
Une séquence est une collection ordonnée d’éléments indexés par des nombres positifs.
Les index varient de 0 à n-1 pour une séquence de n éléments.
| élément | 1 | 2 | … | i | … | n-1 | n |
|---|---|---|---|---|---|---|---|
| index | 1 | 2 | i-1 | n-2 | n-1 | ||
| index | -n | -n+1 | -2 | -1 |
Les séquences peuvent être coupées en tranches qui forment alors des sous séquences. sequence[i,j] forme la sequence de l’élement i inclus jusqu’à l’élément j exclu. Un troisième paramètre permet de faire varier le pas.
sequence[1,3] ne contient que le 2° et 3° élément. sequence[0:-1] contient tous les éléments sauf le dernier. sequence[0:-1:2] prend un élément sur 2. sequence[::-1] inverse la séquence.
| len | retourne le nombre d’élements de la séquence |
| min | renvoie l’élement à valeur minimale de la séquence |
| max | renvoie l’élement à valeur maximale de la séquence |
| sum | renvoie la somme des élements lorsque ceux ci sont additionnables |
Il existe 2 grandes familles de séquences, les séquences immuables (string, unicode et tuple) et les séquences modifiables (liste).
| chr | renvoi le caractère dont le code ASCII est passé en paramètre |
| ord | renvoi le code ASCII du caractère passé en paramètre |
>>> mot = 'Hello' >>> dir(mot) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__','__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle','isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
Le type unicode fonctionne de la même façon mais sur une plage de 32 bits. Ils sont standards en python 3.x. (format encodage utilisé par défaut).
>>> unichr(16000) u'\u3e80' >>> print(unichr(16000)) 㺀 >>> ord(u'€') 8364
La conversion est possible grâce aux méthodes encode et décode à l'aide d'un codec qui permet d’établir la correspondance entre les deux.
>>> encode = u'é'.encode('ISO-8859-15') >>> print(encode) é >>> decode='é'.decode('ISO-8859-15') >>> print(decode) é
>>> firstname = 'John' >>> lastname = 'Cleese' >>> print("Hello {}".format(firstname)) Hello John >>> print("Hello {} {}".format(firstname, lastname)) Hello John Cleese
Il existe certaines expression pour modifier la valeur de l’argument. Exemple, pour les float, la syntaxe est .[P]f où P est un paramètre optionnel qui précise la précion utilisée.
>>> pi = 3.14141592654 >>> print ("pi vaut {:.2f}".format(pi)) >>> print ("pi vaut {0:.2f}".format(pi))
>>> actors = ('John Cleese', 'Terry Gilliam', 'Michael Palin') >>> heterogene = ('John Cleese', 2, u'Terry Gilliam') >>> len(actors) 3 >>> actors[1] 'Terry Gilliam' >>> actors[1] = 'Terry Jones' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
>>> liste_vide = [] >>> actors = ['John Cleese'] >>> len(actors) 1
>>> dir(actors) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__','__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> actors.append('Terry Gilliam') >>> actors ['John Cleese', 'Terry Gilliam'] >>> new_actors = ['Michael Palin', 'Terry Jones'] >>> actors.extend(new_actors) >>> actors ['John Cleese', 'Terry Gilliam', 'Michael Palin', 'Terry Jones'] >>> actors.insert(2, 'Eric Idle') >>> actors ['John Cleese', 'Terry Gilliam', 'Eric Idle', 'Michael Palin', 'Terry Jones'] >>> actors.remove('John Cleese') >>> actors ['Terry Gilliam', 'Eric Idle', 'Michael Palin', 'Terry Jones'] >>> actors.pop(2) 'Michael Palin' >>> actors ['Terry Gilliam', 'Eric Idle', 'Terry Jones'] >>> actors.index('Terry Jones') 2 >>> actors.append(actors[2]) >>> actors ['Terry Gilliam', 'Eric Idle', 'Terry Jones', 'Terry Jones'] >>> actors.count('Terry Jones') 2 >>> actors.sort() >>> actors ['Eric Idle', 'Terry Gilliam', 'Terry Jones', 'Terry Jones'] >>> actors.reverse() >>> actors ['Terry Jones', 'Terry Jones', 'Terry Gilliam', 'Eric Idle']
Un ensemble est encadré par des accolades et chaque élément est séparé par une virgule.
>>> ensemble = {} #dictionnaire >>> ensemble = {'John Cleese','Terry Gilliam'} # type set >>> len(ensemble) 2 >>> ensemble.update({'John Cleese'}) >>> len(ensemble) 2
>>> dico_vide = {} >>> cleese = {'firstname':'John', 'lastname':'Cleese', 'year_of_birth':1939, 'movies':['Monty Python, la vie de Brian', 'Un poisson nommé wanda']} >>> len(cleese) 4 >>> cleese['firstname'] 'John'
>>> dict(sape=4139, guido=4127, jack=4098) {'sape': 4139, 'jack': 4098, 'guido': 4127} >>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)]) {'sape': 4139, 'jack': 4098, 'guido': 4127}
>>> a = {} >>> dir(a) >>> ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
Type à valeur unique qui représente une absence de valeur.
| type | False | True |
|---|---|---|
| int | 0 | les autres valeurs |
| float | .0 | les autres valeurs |
| list | [] | les listes non vides |
| tuple | () | les tuples non vides |
| dict | {} | les dicts non vides |
| type NONE | None | X |
| type | exemple | sequence | modifiable |
|---|---|---|---|
| int | 1 | NON | NON |
| float | 1.0 | NON | NON |
| complex | 1+1j | NON | NON |
| string | “Hello” | OUI | NON |
| unicode | u’Hello” | OUI | NON |
| tuple | (“string”,1) | OUI | NON |
| list | [“string”,1] | OUI | OUI |
| dict | {“key”:”valeur”} | NON | OUI |
| primitive | exemple | description |
|---|---|---|
| str(el) | str(1) ⇒ “1” | retourne l’élement sous forme de string |
| int(el) | int(“1”) ⇒ 1 | retourne l’élement sous forme d’entier |
| float(el) | float(“1”)⇒1.0 | retourne l’élement sous forme de float |
| list(el) | list(“1”)⇒[“1”] | retourne l’élement sous forme de liste |
| tuple(el) | tuple([1])⇒(1,) | retourne l’élement sous forme de tuple |
| Addition | + |
| Soustraction | - |
| Multiplication | * |
| Division | / |
| Modulo (reste) | % |
| Puissance | ** |
>>> 2+3 5 >>> 3-5 -2 >>> 2*7 14 >>> 'hello'*5 'hellohellohellohellohello' >>> 'hello' + ' ' + 'world' 'hello world' >>> 1/6 0 >>> 1.0/6 0.16666666666666666 >>> 10 % 3 1 >>> 2 * * 8 256
| Inférieur | < |
| Supérieur | > |
| Inférieur ou égal | <= |
| Supérieur ou égal | >= |
| Egalité | == |
| Différent | != |
| est | is |
| n'est pas | is not |
>>> a = 'Hello' >>> b = 'Hello' >>> id(a) 39756736 >>> id(b) 39756736 >>> a is b True
>>> a = 10 >>> -a -10
S’applique à toutes les séquences.
>>> 'y' in 'Terry' True >>> 1 in [0,1,2,3,4] True
>>> type(variable)
>>> mot = 'Hello' >>> dir(mot) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__','__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle','isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']