Verifica che la variabile sia una stringa o meno in Python
-
Usa la funzione
type()per verificare se una variabile è una stringa o meno -
Usa la funzione
isinstance()per verificare se una variabile è una stringa o meno
Il tipo di dati stringa viene utilizzato per rappresentare una raccolta di caratteri. Questo tutorial discuterà come verificare se una variabile è di tipo stringa o meno.
Usa la funzione type() per verificare se una variabile è una stringa o meno
La funzione type() restituisce il tipo di classe della variabile passata. Il codice seguente mostra come utilizzare questa funzione per verificare se una variabile è una stringa o meno.
value = "Yes String"
if type(value) == str:
print("True")
else:
print("False")
Produzione:
True
Tuttavia, vale la pena notare che questo metodo è generalmente sconsigliato ed è definito unidiomatico in Python. Il motivo è che l’operatore == confronta la variabile solo per la classe stringa e restituirà False per tutte le sue sottoclassi.
Usa la funzione isinstance() per verificare se una variabile è una stringa o meno
È quindi incoraggiato l’uso della funzione isinstance() rispetto al tradizionale type(). La funzione isinstance() controlla se un oggetto appartiene alla sottoclasse specificata. Il seguente frammento di codice spiegherà come possiamo usarlo per verificare la presenza di oggetti stringa.
value = "Yes String"
if isinstance(value, str):
print("True")
else:
print("False")
Produzione:
True
In Python 2, possiamo usare la classe basestring, che è una classe astratta per str e unicode, per verificare se un oggetto è un’istanza di str o unicode. Per esempio,
value = "Yes String"
if isinstance(value, basestring):
print("True")
else:
print("False")
Produzione:
True
Per usare il metodo sopra in Python 3, possiamo usare il modulo six. Questo modulo ha funzioni che ci permettono di scrivere codice compatibile sia con Python 2 che con 3.
La funzione string_types() restituisce tutti i possibili tipi di dati stringa. Per esempio,
import six
value = "Yes String"
if isinstance(value, six.string_types):
print("True")
else:
print("False")
Produzione:
True
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Python String
- Come controllare se una stringa è vuota in un modo pythonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3
