Maison > Questions et réponses > le corps du texte
Supposons qu'il existe un morceau de code comme celui-ci :
def demo():
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print(e)
main()
Maintenant, j'espère que les valeurs de a et b dans la démo pourront être obtenues sans apporter de modifications au code dans la fonction de démonstration lorsqu'une exception se produit.
仅有的幸福2017-05-18 10:57:41
J'ai fait référence à ce problème et je l'ai résolu.
La fonction imbriquée obtient la fonction d'appel
PHP中文网2017-05-18 10:57:41
Peut être réalisé en utilisant des variables globales global
a = b = 0
def demo():
global a, b
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print 'a: %d, b: %d' % (a, b)
print(e)
main()
过去多啦不再A梦2017-05-18 10:57:41
Fonction plus référence, c'est la connaissance de la portée variable
a = None
b = None
def demo():
global a, b
a = 1
b = 0
c = a / b
def main():
try:
demo()
except Exception as e:
print(e)
main()
print a
print b
Ou mettez a et b dans une variable de dictionnaire, afin que global ne soit pas nécessaire
g = {"a":0,"b":0}
def demo():
g['a'] = 1;
g['b'] = 0
c = g['a'] / g['b']