• Mémo Tester des cas avec lambda

  • Si c'est pas l'un, c'est l'autre

Une petite fonction très utile permettant de tester plusieurs cas et de retourner le bon. Dans l'exemple ci-dessous, le premier renvoie une "NameError", la variable appelée n'existant pas. Le second renvoie une ZeroDivisionError, zéro ne pouvant être divisé par lui-même. La syntaxe du troisième est correcte, c'est le cas qui va être renvoyé. Ce genre de fonction permet de gérer facilement différents cas d'analyse syntaxique avec BeautifulSoup.

def func():
    """
    Test cases.
    :return:
    """
    for case in (
            lambda: print(rien),
            lambda: print(0/0),
            lambda: print("Coucou !"),
        ):
        try:
            return case()
        except Exception as e:
            print("Erreur :", e)
            pass

func()


4 janvier 2019 14:13