maintenir.
<code python>
# variable globale
a = 10
# modification implicite
# méthode déconseillée
def f():
global a
a = a + 10
>>> print(a)
10
# l'appel de f altère implicitement
# la variable globale *a*
>>> def()
>>> print(... explicites.
<code python>
# variable globale
a = 10
# Pour produire un code plus facilement maintena
3 sont les mêmes pour le dictionnaire
>>> d[q3] = 10000
>>> d
{Point1[2, 3]: 10000}
</code>
==== Avertissement ====
Tout ceci semble très bien fonction... s équivalentes de type Point2
>>> t1, t2 = Point2(10, 10), Point2(10, 10)
# L'ensemble s accepte une seule instance
>>> s = {t1, t2}
>>> s
{Point1[10, 1
élément de ma séquence puisqu'ici, ma séquence a 10 éléments. D'ailleurs, à ce propos, comment je fai... un nouvel objet. Prenons un deuxième exemple, s[5:10], ça va me retourner tous les éléments allant de 5 inclus à 10 exclu, 10 moins 1, ça fait 9, ça va donc me retourner la chaîne de caractères 'bacon'.Si je fais s[ :
une entrée x
# une sortie qui vaudra
# -1 si x < -10
# 0 si -10 <= x <= 10
# 1 si x > 10
x = 5 # ou quoi que ce soit d'autre
valeur = -1 if x < -10 else (0 if x <= 10 else 1)
1, 1, 1
def g():
b, c = 2, 4
b = b + 10
def h():
c = 5
print(a, b,... ut 2, on voit également l'instruction ''%%b = b + 10%%'', au moment de l’exécution l'appel de *print* ... le est globale et référence un entier
>>> print = 10
# cet appel produit une exception, la variable g... alement. Par contre, si je fais écrit ''%%print = 10%%'', on définit une variable *print* qui référenc
python>
>>> def image(f):
... for x in range(10):
... print(f"{f(x)}: {x}")
</code>
On a... ue element de l'itérable
>>> m = map(carre, range(10))
>>> m
<map at 0x7fef4d750790>
# on peut par e... mporaire.
<code python>
>>> m = map(carre, range(10))
>>> total = 0
>>> for x in m:
... total += ... s uniquement
>>> filter(lambda x: x%2 == 0, range(10))
</code>
La fonction lambda est vraie pour tout
liste en mémoire
>>> carre = [x**2 for x in range(1000)]
</code>
Cette liste est créée en mémoire et ... des parenthèses
>>> carre = ( x**2 for x in range(1000) )
# on peut s'en assurer
>>> type(carre)
gene... e carré de chaque élément retourné par *range* de 1000. Comme *range* est également un objet qui ne cr... re 0 et 999
>>> gen_carre = ( x**2 for x in range(1000) )
# une seconde expression génératrice, explo
y1, x2, y2, couleur='rouge')
ligne_rouge(0, 0, 100, 100)
</code>
Toutefois, avec cette implémentation, si la signature de ligne venait à changer, on s... maintenant d'écrire:
<code python>
ligne_rouge(0, 100, 100, 0, epaisseur=4)
</code>
Dans le cas général, il est possible de combiner les 4 formes d'argu
essage si vous avez une note qui est supérieure à 10 sur 20. Prenons cet exemple ; je commence par déf... sion, là, mon expression, c'est note supérieure à 10, et un : Ensuite je vais écrire un bloc d'instruc... e cas-là, si la note est supérieure strictement à 10.
Si jamais ce test est faux, je vais rentrer dans
à la seconde variable y
>>> (x, y*) = list( range(10) )
>>> type(x)
int
>>> print(x)
0
>>>type(y)
l... oite de l'égalité, on définit une liste contenant 10 éléments des entiers allant de 0 jusqu'à 9 (c'est
<function f at 0x7f2479111310>
>>> g(4, 'cinq', 6) ... tion
def increment(n):
n += 1
>>> compteur = 10
>>> increment(compteur)
>>> print(compteur)
10
# on peut par contre ajouter dans une liste
def inser
for sous_liste in liste:
... sous_liste.append(100)
>>> print('après', liste)
après [[1, 100], [2, 100], [3, 100]]
</code>
Dans cet exemple, les modifications ont lieu sur les éléments de liste, et non
si la chaîne de caractères 'x' est dans range de 100. En fait, range de 100 va produire des entiers allant de 0 à 99, x n'étant pas dedans, je vais être ... un range qui est plus grand et multiplions-le par 100. Donc au lieu de prendre 100, je vais prendre 10 000. J'utilise au passage la notation underscore da