
Errata
Le Guide de survie Python de Brad Dayley
(isbn: 978-2-7440-2149-7)
def fun(a):
b=3
x=4
def sub(c):
d=b
global x
x = 7
print ("Fonction imbriquée\n=================")
print locals()
sub(5)
print ("\nFonction\n=================")
print locals()
print locals()["x"]
print globals()["x"]
print ("\nGlobals\n=================")
print globals()
fun(2)
def fun(a):
b=3
x=4
def sub(c):
d=b
global x
x = 7
print ("Fonction imbriquée\n=================")
print locals()
sub(5)
print ("\nFonction\n=================")
print locals()
print locals()["x"]
print globals()["x"]
print ("\nGlobals\n=================")
print globals()
fun(2)
(Les espaces blancs sont des multiples de 4)
cards = ['As', 'Roi', 'Dame', 'Valet']
codeStr = "pour la carte dans les cartes: \
print \"Carte = \" + card"
areaStr = "pi*(radius*radius)"
#Execution de la chaîne
exec(codeStr)
#Evaluation de la chaîne
print "\nAire = " + str(eval(areaStr, \
{"pi":3.14}, {"rayon":5}))
cartes = ['As', 'Roi', 'Dame', 'Valet']
codeStr = "for carte in cartes: \
print \"Carte = \" + carte"
aireStr = "pi*(rayon*rayon)"
#Execution de la chaîne
exec(codeStr)
#Evaluation de la chaîne
print "\nAire = " + str(eval(aireStr, \
{"pi":3.14}, {"rayon":5}))
(Ce qui compte ici est avant tout la non-traduction de for
et in dans la séquence for carte in cartes. Les autres
modifications relèvent de la localisation.)