Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement si une chaîne représente un entier sans utiliser Try/Except ?
Vérification de la représentation d'entiers de chaîne : une approche alternative pour essayer/exclure
Dans cet article, nous explorons des méthodes pour déterminer si une chaîne représente un entier sans recourir à l’approche try/sauf. Ceci est particulièrement utile dans les scénarios où les performances et la gestion des exceptions sont critiques.
Utilisation de la méthode .isdigit() pour les entiers positifs
La méthode .isdigit() dans les vérifications Python si une chaîne est composée uniquement de chiffres. Bien qu'efficace pour les entiers positifs, il échoue avec les valeurs négatives.
'16'.isdigit() # True
Gestion des entiers négatifs
Pour prendre en compte les entiers négatifs, nous pouvons exploiter le découpage de chaînes et le . isdigit() comme suit :
s = '-17' s.startswith('-') and s[1:].isdigit() # True
Cette instruction conditionnelle garantit que la chaîne commence par un trait d'union (-) et les caractères restants sont des chiffres.
Exclusion des nombres à virgule flottante
Cependant, cette approche n'exclut pas les chaînes comme « 16.0 » qui ressemblent à entiers dans le contexte de la conversion d’entiers. Pour cela, nous pouvons améliorer notre logique avec une fonction personnalisée :
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()
Cette fonction gère les entiers positifs et négatifs en vérifiant si la chaîne commence par un signe, puis en vérifiant que les caractères restants sont des chiffres.
En employant ces méthodes, vous pouvez déterminer efficacement si une chaîne représente un entier sans utiliser try/sauf, offrant une exécution plus rapide et un contrôle accru sur la gestion des exceptions.
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!