Exercices
I. QCM mutabilité et variables globales/locales⚓︎
QCM mutabilité et variables globales/locales
Cocher la bonne réponse (cercles) ou les deux bonnes réponses (carrés)
-
Qu'est-ce qu'une variable globale ?
- Une variable définie à l'intérieur d'une fonction
- Une variable définie en dehors de toutes les fonctions
- Une variable qui ne peut être utilisée que dans une seule fonction
- Une variable qui est automatiquement supprimée après son utilisation
-
Comment déclare-t-on une variable globale à l'intérieur d'une fonction ?
-
En utilisant le mot-clé
local -
En utilisant le mot-clé
global -
En utilisant le mot-clé
static -
En utilisant le mot-clé
public
-
En utilisant le mot-clé
-
Quelle est la portée d'une variable locale ?
- Elle est accessible partout dans le programme
- Elle est accessible uniquement dans la fonction où elle est définie et dans les sous-fonctions qui y sont définies.
- Elle est accessible dans toutes les fonctions
- Elle est accessible uniquement en dehors des fonctions
-
Que se passe-t-il si vous essayez d'accéder à une variable locale en dehors de la fonction où elle est définie, ou en dehors d'une de ses sous-fonctions ?
- Le programme s'exécute normalement
-
Une erreur
NameErrorest levée - La variable est automatiquement convertie en variable globale
- La variable prend une valeur par défaut
-
Que s'affiche-t-il ?
- 10
- 20
-
Erreur
NameError -
Erreur
SyntaxError
-
Que s'affiche-t-il ?
-
[1, 2, 3] -
[1, 2, 3, 4] -
Erreur
NameError -
Erreur
UnboundLocalError
-
-
Que s'affiche-t-il ?
-
[1, 2, 3] -
[4, 5, 6] -
Erreur
NameError -
Erreur
UnboundLocalError
-
-
Que s'affiche-t-il ?
def modifier_liste(ma_liste): ma_liste = [7, 8, 9] return ma_liste ma_liste = [1, 2, 3] modifier_liste(ma_liste) print(ma_liste)-
[1, 2, 3] -
[7, 8, 9] -
[1, 2, 3, 7, 8, 9] -
Erreur
UnboundLocalError
-
-
Que s'affiche-t-il ?
def ajouter_element(ma_liste): ma_liste += [4] ma_liste = [1, 2, 3] ajouter_element(ma_liste) print(ma_liste)-
[1, 2, 3] -
[1, 2, 3, 4] -
Erreur
NameError -
Erreur
UnboundLocalError
-
-
Que s'affiche-t-il ?
-
Que s'affiche-t-il ?
def modifier_liste(ma_liste): ma_liste.append(4) ma_liste = [5, 6, 7] ma_liste = [1, 2, 3] modifier_liste(ma_liste) print(ma_liste)-
[1, 2, 3] -
[1, 2, 3, 4] -
[5, 6, 7] -
[1, 2, 3, 5, 6, 7]
-
-
Que s'affiche-t-il ?
- 0
- 42
-
Erreur
NameError -
UnboundLocalError
-
Que s'affiche-t-il ?
- 0
- 42
-
Erreur
NameError -
UnboundLocalError
-
Que s'affiche-t-il ?
- 0
- 42
-
Erreur
NameError -
UnboundLocalError
-
Que s'affiche-t-il ?
- 0
- 42
-
Erreur
NameError -
UnboundLocalError
-
Que s'affiche-t-il ?
- 0
- 42
-
Erreur
NameError -
UnboundLocalError
-
Que s'affiche-t-il ? Pourquoi ?
-
['hoho...', 'hein?'] -
['hoho...'] -
Erreur
NameError -
UnboundLocalError - Mutation de la variable globale.
-
La variable
lstest inconnue dans la fonction.
-
-
Que s'affiche-t-il ? Pourquoi ?
-
['hoho...'] -
['hein?'] -
Une variable locale
lsta été créée, la variable globale n'a pas été modifiée. - La variable globale a été modifiée.
-
-
Que s'affiche-t-il ? Pourquoi ?
-
['hoho...'] -
['hoho...', 'hein?'] -
['hein?'] -
Mutation de la variable locale qui est l'argument passé à la fonction. Puisque les listes sont des objets mutables, toute modification de
lstà l’intérieur de la fonction affecte également la liste originale en dehors de la fonction : (Python Tutor)
-
-
Que s'affiche-t-il ? Pourquoi ?
-
['hoho...'] -
['hein?'] -
Une variable locale
lsta été créée, la variable globale n'a pas été modifiée. -
La variable globale
ma_listea été modifiée.
-
-
Que s'affiche-t-il ? Pourquoi ?
-
['hoho...'] -
['hoho...', 'hein?'] -
Mutation de la variable locale qui est l'argument passé à la fonction. Puisque les listes sont des objets mutables, toute modification de
lstà l’intérieur de la fonction affecte également la liste originale en dehors de la fonction : (Python Tutor)
-
Crédits⚓︎
Avec l'aide judicieuse de Serge Bays et de Frédéric Zinelli.