Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier si une chaîne représente un entier en Python sans utiliser Try/Except ?

Comment puis-je vérifier si une chaîne représente un entier en Python sans utiliser Try/Except ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-27 16:55:10248parcourir

How Can I Verify if a String Represents an Integer in Python Without Using Try/Except?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn