Vérification de chaînes entières sans Try/Except
Lorsque vous travaillez avec des chaînes, il est souvent nécessaire de déterminer si une chaîne représente un entier. Traditionnellement, cela était réalisé à l'aide d'un mécanisme try/sauf pour tenter une conversion d'entier et gérer les exceptions en cas d'échec. Cependant, il existe des approches alternatives qui évitent la surcharge liée à la gestion des exceptions.
isdigit pour les entiers positifs
Pour les entiers positifs, la fonction Python .isdigit() peut être utilisée . Il renvoie True si la chaîne est constituée uniquement de chiffres et False sinon :
>>> '16'.isdigit() True
Entiers négatifs avec vérification du préfixe
Cette approche ne fonctionne pas pour les entiers négatifs. Pour les gérer, vous pouvez rechercher un préfixe de trait d'union, puis tester si les caractères restants sont des chiffres :
>>> s = '-17' >>> s.startswith('-') and s[1:].isdigit() True
Gestion des points décimaux
La méthode ci-dessus est insuffisante lors de la manipulation de chaînes contenant des points décimaux. Pour résoudre ce problème, une approche légèrement plus complexe est nécessaire :
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()
Cette fonction vérifie un préfixe positif ou négatif, puis utilise .isdigit() pour valider les caractères restants.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!