Basic Python
Bases de Python
Informations utiles
list(xrange()) == range() --> En python3, range est le xrange de python2 (ce n'est pas une liste mais un générateur) La différence entre un Tuple et une Liste est que la position d'une valeur dans un tuple lui donne une signification, tandis que les listes ne sont que des valeurs ordonnées. Les tuples ont des structures mais les listes ont un ordre.
Opérations principales
Pour élever un nombre, vous utilisez : 3**2 (pas 3^2) Si vous faites 2/3, cela renvoie 1 car vous divisez deux entiers (integers). Si vous voulez des décimales, vous devriez diviser des flottants (2.0/3.0). i >= j i <= j i == j i != j a et b a ou b non a float(a) int(a) str(d) ord("A") = 65 chr(65) = 'A' hex(100) = '0x64' hex(100)[2:] = '64' isinstance(1, int) = True "a b".split(" ") = ['a', 'b'] " ".join(['a', 'b']) = "a b" "abcdef".startswith("ab") = True "abcdef".contains("abc") = True "abc\n".strip() = "abc" "apbc".replace("p","") = "abc" dir(str) = Liste de toutes les méthodes disponibles help(str) = Définition de la classe str "a".upper() = "A" "A".lower() = "a" "abc".capitalize() = "Abc" sum([1,2,3]) = 6 sorted([1,43,5,3,21,4])
Joindre des caractères 3 * ’a’ = ‘aaa’ ‘a’ + ‘b’ = ‘ab’ ‘a’ + str(3) = ‘a3’ [1,2,3]+[4,5]=[1,2,3,4,5]
Parties d'une liste ‘abc’[0] = ‘a’ 'abc’[-1] = ‘c’ 'abc’[1:3] = ‘bc’ de [1] à [2] "qwertyuiop"[:-1] = 'qwertyuio'
Commentaires # Commentaire sur une ligne """ Commentaire sur plusieurs lignes Un autre """
Boucles
Tuples
t1 = (1, '2', 'trois') t2 = (5, 6) t3 = t1 + t2 = (1, '2', 'trois', 5, 6) (4,) = Singleton d = () tuple vide d += (4,) --> Ajout dans un tuple CANT! --> t1[1] == 'Nouvelle valeur' list(t2) = [5, 6] --> Du tuple à la liste
List (array)
d = [] vide a = [1, 2, 3] b = [4, 5] a + b = [1, 2, 3, 4, 5] b.append(6) = [4, 5, 6] tuple(a) = (1, 2, 3) --> De la liste au tuple
Dictionary
d = {} vide monthNumbers={1:'Jan', 2: 'fév','fév':2}—> monthNumbers ->{1:'Jan', 2: 'fév','fév':2} monthNumbers[1] = 'Jan' monthNumbers['fév'] = 2 list(monthNumbers) = [1, 2, 'fév'] monthNumbers.values() = ['Jan', 'fév', 2] keys = [k for k in monthNumbers] a={'9':9} monthNumbers.update(a) = {'9':9, 1:'Jan', 2: 'fév','fév':2} mN = monthNumbers.copy() #Copie indépendante monthNumbers.get('clé',0) #Vérifie si la clé existe, retourne la valeur de monthNumbers["clé"] ou 0 si elle n'existe pas
Set
Dans les ensembles, il n'y a pas de répétitions myset = set(['a', 'b']) = {'a', 'b'} myset.add('c') = {'a', 'b', 'c'} myset.add('a') = {'a', 'b', 'c'} #Pas de répétitions myset.update([1, 2, 3]) = set(['a', 1, 2, 'b', 'c', 3]) myset.discard(10) #Si présent, le supprime, sinon rien myset.remove(10) #Si présent, le supprime, sinon lève une exception myset2 = set([1, 2, 3, 4]) myset.union(myset2) #Valeurs de myset OU myset2 myset.intersection(myset2) #Valeurs dans myset ET myset2 myset.difference(myset2) #Valeurs dans myset mais pas dans myset2 myset.symmetric_difference(myset2) #Valeurs qui ne sont ni dans myset NI dans myset2 (pas dans les deux) myset.pop() #Obtient le premier élément de l'ensemble et le supprime myset.intersection_update(myset2) #myset = Éléments à la fois dans myset et myset2 myset.difference_update(myset2) #myset = Éléments dans myset mais pas dans myset2 myset.symmetric_difference_update(myset2) #myset = Éléments qui ne sont pas dans les deux
Classes
La méthode dans __It__ sera celle utilisée par sort pour comparer si un objet de cette classe est plus grand qu'un autre
map, zip, filter, lambda, sorted et one-liners
Map est comme: [f(x) pour x dans iterable] --> map(tuple, [a, b]) = [(1, 2, 3), (4, 5)] m = map(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) --> [False, False, True, False, False, True, False, False, True]
zip s'arrête lorsque le plus court entre foo ou bar s'arrête:
Lambda est utilisé pour définir une fonction (lambda x,y: x+y)(5,3) = 8 --> Utiliser lambda comme une fonction simple sorted(range(-5,6), key=lambda x: x** 2) = [0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Utiliser lambda pour trier une liste m = filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) = [3, 6, 9] --> Utiliser lambda pour filtrer reduce (lambda x,y: x*y, [1,2,3,4]) = 24
Exceptions
Assert()
Si la condition est fausse, la chaîne sera affichée à l'écran
Générateurs, yield
Un générateur, au lieu de retourner quelque chose, "yield" quelque chose. Lorsque vous y accédez, il "retournera" la première valeur générée, puis vous pourrez y accéder à nouveau et il retournera la valeur suivante générée. Ainsi, toutes les valeurs ne sont pas générées en même temps et beaucoup de mémoire pourraient être économisées en utilisant ceci au lieu d'une liste avec toutes les valeurs.
Si vous l'exécutez, vous verrez quelque chose comme ce qui suit:
Last updated