En plein élan de programmation, il me faut tester si une chaîne ne commence pas par 'foo' ou 'spam'.
Voici donc le code de la condition
>>> x = "spam-not-foo" >>> x.startswith("spam") or x.startswith("foo") True
Et là on se dit : ça manque de concision, ce serait cool tout de même si je pouvais condenser tout ça avec une seule expression. Ce qui serait naturel serait de fournir à la méthode un tuple contenant les chaînes que je veux tester. Testons donc
>>> x.startswith(("spam", "foo")) True
Oui ça fonctionne ! Vérifions
>>> "spamable".startswith(("spam", "foo")) True >>> "fooable".startswith(("spam", "foo")) True >>> "non-spam-neither-foo".startswith(("spam", "foo")) False
Je me dis que c'est quand même bien Python. Me voilà donc à reformuler mon code. Hop petit test et BAM erreur ! Eh oui, mon produit tourne sur Python 2.4 alors que cette fonctionnalité fait partie de la version 2.5.
Ceci prouve bien que Python tend à la perfection !
Actions sur le document