python - Comment obtenir une valeur dans une fonction imbriquée
PHP中文网
PHP中文网 2017-05-18 10:55:41
0
3
769

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.

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(3)
仅有的幸福

J'ai fait référence à ce problème et je l'ai résolu.
La fonction imbriquée obtient la fonction d'appel

Ty80

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梦

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']
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal