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 ?

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

Patricia Arquette
Libérer: 2024-12-14 10:13:11
original
324 Les gens l'ont consulté

How Can I Efficiently Check if a String Represents an Integer Without Using 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
Copier après la connexion

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
Copier après la connexion

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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal