variable est définie**.
* Une variable locale au bloc de code d'une fonction est ce qu'on appelle ... es qui sont définies en dehors de toute fonction, au niveau du module. Nous abordons ici **la notion d... , on va la chercher **globalement**, c'est-à-dire au niveau des variables globales, et pour finir, si ... * est définie globalement la variable globale *a* au moment de l'exécution de ce code référence l'enti
aire. Or, si par exemple, on veut juste calculer, au final, uniquement la somme des éléments composant... même syntaxe, on lui donne ici le nom *gen* mais au lieu d'écrire un ''return'', on utilise l'instruc... e
>>> def gen():
... print('instructions lues au premier appel')
... yield 10
... print('instructions lues au deuxième appel')
... yield 20
... print('in
ui 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 dans les entiers q... i contient deux éléments, [1, 2], je peux accéder au premier élément en faisant *t[0]*. Mais maintenan... e t égale 18 et 35. Je pourrais très bien vouloir au lieu de faire t de 0 égale 18 écrire t de Alice ;
vec l'instruction ''in'';
* Accéder par exemple au troisième mot avec la notation crochets comme on ... es instances =====
Lors de la séquence consacrée au [[340_dictionnaires|dictionnaires]] Nous avions v... ' appliquée sur cet objet.
Deux objets distincts au sens de id() sont considérés comme différents, et... points ne sont égaux que s'ils sont le même objet au sens de is.
Mais imaginons que vous voulez au co
erreur: division by zero. Ensuite, la ligne juste au dessus, je vois apparaître la ligne de mon code o... int de a divisé par b. Et ensuite, la ligne juste au dessus, je vois le fichier dans lequel c'est appa... mme.
Maintenant, regardons ce qu'il se passe si, au lieu de faire une division de 1 par 0, je fais un... ution, je peux tout à fait capturer mon exception au niveau du print, je peux la capturer au niveau de
suivie du nom de la classe ici "Phrase". Ensuite, au sein de la classe on définit un attribut qui s'ap... ue** en fonction de l'état des espaces de nommage au moment où on fait la résolution de l'attribut.
<... urs vide
>>> vars(p)
{}
# on accède tout de même au nouvel attribut
# de classe la classe Phrase depu... '' qu'on trouve en C++ et en Java. Il existe tout au plus une **convention**, selon laquelle **les att
/elif/else* .
* Si le test 1 est faux, on passe au deuxième test introduit par le mot clé *elif*. S'... ndant et on sort de la structure. sinon, on passe au troisième test et on continue, de manière identique et successive, jusqu'au dernier test.
* Si l'intégralité des tests sont... condition, ce qui peut être utile pour savoir si au moins un élément remplit une condition, comme par
tion
# de l' argument qui détermine l'association au paramètre
# c'est un appel avec des arguments ord...
</code>
Lorsqu'on appelle la fonction *agenda*, au lieu de passer les arguments dans l'ordre de défi... que c'est très courant, les listes sont vraiment au cœur de tous les programmes Python.
Une manière ... e fonctionnalité. De manière générale, on cherche au maximum à se prémunir contre de telles dépendance
turn llst
</code>
On définit une variable *llst* au sein de la fonction, on fait une shallow copy de ... omme l'affectation, et tout ce qui a été présenté au sujet des références partagées s'applique exactem... pas encore défini**, et que c'est possible jusqu'au moment où j'appelle effectivement ma fonction.
S... s spécifié le type de *a* ou *b*. Ça veut dire qu'au moment de l'appel de la fonction *my_add* on peut
tères je peux maintenant la décoder pour repasser au type 'str', au type chaîne de caractères Unicode. Donc je vais faire un decode() et là encore je vais... i avec l'encodage et le décodage ne sont pas liés au jeu de caractères puisqu'on a Unicode, ils sont quasiment toujours liés au fait que la personne qui développe le code ne vou
ec la notation crochets. s[0] me permet d'accéder au premier élément de la séquence, puisque, je vous ... ées à partir de 0. s[9] va me permettre d'accéder au dernier élément de ma séquence puisqu'ici, ma séq... allez parcourir tous les éléments du début jusqu'au 3 exclu, ça va donc me parcourir tous les élément... , ça me retourne ma séquence en allant de 2 jusqu'au début.
Dans cette vidéo, nous avons vu les princ
ude, mais il va falloir préciser comment procéder au tri.
Comme on le devine, le procédé ici consiste... ue élément, une valeur numérique qui sert de base au tri.
Pour cela on appelle la méthode sort l'[[46... liste, retourne la valeur qui doit servir de base au tri: pour l'exemple on définit une fonction longi... t retourne le résultat dans une liste. Cependant, au final, le coût mémoire est le même. Pour utiliser
a et b sont bien distincts
# mais les références au sein des listes sont les mêmes
>>> id(a) ... et effet de bord en faisant une copie de la liste au moment du partage de référence. On voit bien que ... z donc que les références partagées sont vraiment au cœur de Python et c'est le mécanisme central pour... ui permet de savoir si deux valeurs correspondent au même objet en mémoire. Une bonne pratique est d'u
====
<code python>
# la variable *a* est définie au niveau
# du module, sa portée est globale
a = 'a ... a)
a globale
</code>
La variable *a* est définie au niveau du module, c'est une variable globale, ell... ngé:
<code python>
# la variable *a* est définie au niveau
# du module, sa portée est globale
a = 'a ... n ''globals'' donne la liste des symboles définis au niveau de l'espace de noms du module.
* La fonc
du moment où on tape l'instruction *import* jusqu'au moment où l'**objet module** est disponible.
Lor... PATH'])
</code>
si le fichier n'est pas présent, au final, l’interpréteur va le chercher dans le répe... terpréteur Python dans l'ordre, du premier chemin au dernier.
<code python>
>>> import sys
>>> print... coût puisque vous ne payez le prix de l'import qu'au premier appel et non à chaque appel de la fonctio