La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Formation Python Affectation (d'après "Learning Python", de Mark Lutz)

Présentations similaires


Présentation au sujet: "Formation Python Affectation (d'après "Learning Python", de Mark Lutz)"— Transcription de la présentation:

1 Formation Python Affectation (d'après "Learning Python", de Mark Lutz)

2 Questions abordées  Qu'est-ce qu'une "variable" ?  Qu'est-ce qu'une valeur ?  Qu'est-ce qu'un type ?  Comment est gérée la mémoire ?  Comment sont passés les arguments de fonction ?  Comment se passe une copie ?  Comment est évaluée l'égalité ?

3 Variables et objets  a = 3  a = 'hello'  a = 1.23 a a a a a a hello

4 Partage d'objets  a = 3  b = a  a = 'hello'  a = a+2  c = 3 a a a a a a hello b b b b b b c c

5 Modification d'un élément (1/2)  l1 = [2,3,4]  l2 = l1  l1[0] = 5 l1 [0,1,2] l l1 [0,1,2] l

6 Modification d'un élément (2/2)  l1 = [2,3,4]  l2 = l1[:]  l2[1] = 6 l1 [0,1,2] l [0,1,2] l1 [0,1,2] l [0,1,2] 6 6

7 Egalité et identité (1/4)  l1 = [2,3,4]  l2 = l1  l1==l2 True  l1 is l2 True l1 [0,1,2] l

8 Egalité et identité (2/4)  l1 = [2,3,4]  l2 = [2,3,4]  l1==l2 True  l1 is l2 False l1 [0,1,2] l [0,1,2]

9 Egalité et identité (3/4)  x = 42  y = 42  x==y True  x is y True l1 42 l2

10 Egalité et identité (4/4)  x = 42.5  y = 42.5  x==y True  x is y False l l2 42.5

11 Passage d'arguments  def changer(a,b): … a = 2 … b[0] = 'hello' …  x = 1  y = [1,2]  changer(x,y)  x,y (1,['hello',2]) x x 1 1 a a y y [0,1] b b 2 2 'hello'

12 Affectation dans une fonction  x = 88  y = [ 1, 2 ]  def func(): … x = 99 … y[0] = 0  func()  x, y ( 88, [0,2] ) Dans une fonction, toute affectation à une variable qui n'est pas un de ses arguments crée une variable locale, sauf s'il s'agit d'un élément d'une collection mutable.

13 Résumé  Les types sont attachés aux objets, pas aux variables.  Chaque objet est rendu au système quand il n'est plus désigné par aucune variable.  La modification d'un élément de collection affecte toutes les variables désignant cette collection.  Le passage des arguments d'une fonction se fait par affectation à des variables locales.  Les affectations au sein des fonctions créent des variables locales.

14 Quiz (1/5) Quelle est la valeur finale retournée par a ?  a = "hello"  b = a  b = "world"  a "hello" a a b b hello world

15 Quiz (2/5) Quelle est la valeur finale retournée par a ?  a = [ "hello" ]  b = a  b[0] = "world"  a [ "world" ] a a b b [0] hello world

16 Quiz (3/5) Quelle est la valeur finale retournée par a ?  a = [ "hello" ]  b = a[:]  b[0] = "world"  a [ "hello" ] a a b b [0] hello world [0]

17 Quiz (4/5) Quelle est la valeur finale retournée par a ?  def f(x): … x = "world"  a = "hello"  f(a)  a "hello" a a x x hello world

18 Quiz (5/5) Quelle est la valeur finale retournée par a ?  def f(x): … x[0] = "world"  a = [ "hello" ]  f(a)  a [ "world" ] a a x x [0] hello world


Télécharger ppt "Formation Python Affectation (d'après "Learning Python", de Mark Lutz)"

Présentations similaires


Annonces Google