4.1 string -- Operazioni comuni sulle stringhe

Questo modulo definisce alcune costanti utili per controllare le classi di carattere ed alcune utili funzioni sulle stringhe. Per le funzioni sulle stringhe basate sulle espressioni regolari, vedete il modulo re.

Le costanti definite in questo modulo sono:

ascii_letters
La concatenazione delle costanti ascii_lowercase e ascii_uppercase descritte di seguito. Questo valore non dipende dalla localizzazione.

ascii_lowercase
Le lettere minuscole 'abcdefghijklmnopqrstuvwxyz'. Questo valore non dipende dalla localizzazione e non cambierà.

ascii_uppercase
Le lettere maiuscole 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. Questo valore non dipende dalla localizzazione e non cambierà.

digits
La stringa '0123456789'.

hexdigits
La stringa '0123456789abcdefABCDEF'.

letters
La concatenazione delle stringhe lowercase e uppercase descritte di seguito. Il valore specifico dipende dalla localizzazione e viene aggiornato quando viene chiamata la funzione locale.setlocale().

lowercase
Una stringa contenente tutti i caratteri che vengono considerati lettere minuscole. Su molti sistemi questa corrisponde alla stringa 'abcdefghijklmnopqrstuvwxyz'. Non cambiate la sua definizione: l'effetto sulle funzioni upper() e swapcase() è indefinito. Il valore specifico dipende dalla localizzazione e viene aggiornato quando viene chiamata la funzione locale.setlocale().

octdigits
La stringa '01234567'.

punctuation
La stringa di caratteri ASCII che vengono considerati caratteri di punteggiatura nella localizzazione "C".

printable
La stringa di caratteri che vengono considerati stampabili. Questa è una combinazione di digits, letters, punctuation e whitespace.

uppercase
Una stringa contenente tutti i caratteri che vengono considerati lettere maiuscole. Su molti sistemi questa corrisponde alla stringa 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. Non cambiate la sua definizione: l'effetto sulle funzioni lower() e swapcase() è indefinito. Il valore specifico dipende dalla localizzazione e viene aggiornato quando viene chiamata la funzione locale.setlocale().

whitespace
Una stringa contenente tutti i caratteri che vengono considerati di spaziatura. Su molti sistemi questa include i caratteri spazio, tabulazione, fine riga, return, formfeed e tabulazioni verticali. Non cambiate la sua definizione: l'effetto sulle funzioni strip() e split() è indefinito.

Molte delle funzioni fornite da questo modulo vengono anche definite come metodi delle stringhe e degli oggetti Unicode; per maggiori informazioni vedete ``Metodi delle stringhe`` (sezione 2.3.6). Le funzioni definite in questo modulo sono:

atof( s)
Deprecato dalla versione 2.0 di Python. Utilizzate la funzione built-in float().
Converte una stringa in un numero in virgola mobile. La stringa deve avere la sintassi standard per un numero in virgola mobile di Python, facoltativamente preceduto dal segno ("+" o "-"). Notate che si comporta in modo identico alla funzione built-in float() quando ad essa viene passata una stringa.

Note: Quando passati in una stringa, i valori NaN e Infinito possono venire restituiti, in funzione della sottostante libreria C. L'insieme specifico delle stringhe accettate che causano questi valori dipende interamente dalla libreria C, che è variabile.

atoi( s[, base])
Deprecato dalla versione 2.0 di Python. Utilizzate la funzione built-in int().
Converte una stringa s in un intero in una data base. La stringa deve consistere di una o più cifre, facoltativamente precedute dal segno ("+" o "-"). La base predefinita è 10. Se è 0, una base viene scelta in funzione dei caratteri iniziali della stringa (dopo che il segno è stato eliminato): "0x" oppure "0X" significa 16, "0" significa 8, tutto il resto significa 10. Se la base è 16, viene accettato il prefisso "0x" or "0X", sebbene non richiesto. Si comporta in modo identico alla funzione built-in int() quando viene ad essa passata una stringa. (Altre note: per un'interpretazione più flessibile delle costanti numeriche, utilizzate la funzione built-in eval().)

atol( s[, base])
Deprecato dalla versione 2.0 di Python. Utilizzate la funzione built-in long().
Converte la stringa s in un intero long nella base data. La stringa deve consistere di una o più cifre, facoltativamente precedute dal segno ("+" or "-"). L'argomento base ha lo stesso significato della funzione atoi(). Un valore finale "l" o "L" non viene ammesso, a meno che la base non sia 0. Notate che quando invocata senza specificare la base o con la base impostata a 10, si comporta in modo identico alla funzione built-in long() quando viene ad essa passata una stringa.

capitalize( parola)
Restituisce una copia della parola con soltanto il suo primo carattere in maiuscolo.

capwords( s)
Divide l'argomento in parole, usando la funzione split(), converte in maiuscolo il primo carattere di ogni parola utilizzando la funzione capitalize(), e riunisce le parole usando la funzione join(). Notate che sostituisce i caratteri di spaziatura tra le parole con un singolo spazio ed elimina tutti i caratteri di spaziatura ad inizio e fine stringa.

expandtabs( s[, tabsize])
Espande le tabulazioni in una stringa, per esempio li sostituisce con uno o più spazi, in funzione della colonna corrente e del numero di caratteri corrispondenti al tabsize dato. Il numero di colonna viene reimpostato a zero dopo ogni fine riga presente nella stringa. Non interpreta invece gli altri caratteri non stampabili o le sequenze di escape. La dimensione di una tabulazione è predefinita ad 8.

find( s, sub[, start[,end]])
Restituisce l'indice minore in s in cui viene trovata la sotto stringa sub tale che sia interamente contenuta in s[start:end]. Restituisce -1 in caso di fallimento. I valori predefiniti per start ed end, e l'interpretazione dei valori negativi, sono gli stessi di quelli considerati per le fette.

rfind( s, sub[, start[, end]])
Come find(), ma trova l'indice maggiore.

index( s, sub[, start[, end]])
Come find(), ma solleva l'eccezione ValueError quando la sotto stringa non viene trovata.

rindex( s, sub[, start[, end]])
Come rfind(), ma solleva l'eccezione ValueError quando la sotto stringa non viene trovata.

count( s, sub[, start[, end]])
Restituisce il numero di occorrenze (senza sovrapposizioni) della sotto stringa sub presenti nella stringa s[start:end]. I valori predefiniti per start ed end, e l'interpretazione dei valori negativi, sono gli stessi di quelli considerati per le fette.

lower( s)
Restituisce una copia di s, ma con le lettere maiuscole convertite in minuscole.

maketrans( from, to)
Restituisce una tabella di traduzione adatta per venire utilizzata con la funzioni translate() o regex.compile(), che mapperà ogni carattere in from nel carattere nella stessa posizione in to; from e to devono avere la stessa lunghezza.

Non utilizzate stringhe derivate da lowercase e uppercase come argomenti; in alcune localizzazioni, queste non hanno la stessa lunghezza. Per conversioni da maiuscolo e minuscolo, utilizzate sempre le funzioni lower() ed upper().

split( s[, sep[, maxsplit]])
Restuisce una lista delle parole della stringa s. Se il secondo argomento facoltativo sep non è presente o è None, le parole vengono separate da stringhe arbitrarie di caratteri di spaziatura (spazi, tabulazioni, fine riga, return, formfeed). Se il secondo argomento sep è presente e non è None, specifica una stringa da utilizzare come separatore di parole. La lista restituita avrà un elemento in più, aggiunto, rispetto al numero delle occorrenze senza sovrapposizioni del separatore nella stringa. Il valore predefinito del terzo argomento facoltativo maxsplit è 0. Se è un valore diverso da zero, vengono effettuate al massimo maxsplit divisioni, e la parte rimanente della stringa viene restituita come ultimo argomento della lista (così la lista avrà al più maxsplit+1 elementi).

Il comportamento di split su di una stringa vuota dipende dal valore di sep. Se sep non viene specificato, o specificato come None, il risultato sarà una lista vuota. Se sep viene specificato come una qualsiasi stringa, il risultato sarà una lista contenente un elemento che è una stringa vuota.

rsplit( s[, sep[, maxsplit]])
Restituisce una lista delle parole della stringa s, esaminando s dalla fine. A tutti gli effetti, la lista risultante delle parole è la stessa restituita dalla funzione split(), ad eccezione di quando il terzo argomento facoltativo viene esplicitamente specificato e diverso da zero. Quando maxsplit è un valore diverso da zero, vengono effettuate al più maxsplit divisioni della stringa - quelle più a destra - e la parte rimanente della stringa viene restituita come primo elemento della lista (così, la lista avrà al più maxsplit+1 elementi). Nuovo nella versione 2.4.

splitfields( s[, sep[, maxsplit]])
Questa funzione si comporta in modo identico a split(). (In passato, split() veniva utilizzata con un solo argomento, mentre splitfields() veniva utilizzata con due soli argomenti.)

join( words[, sep])
Concatena una lista o una tupla di parole, utilizzando le occorrenze di sep. Il valore predefinito di sep è un singolo spazio. L'espressione "string.join(string.split(s, sep), sep)" è sempre equivalente a s.

joinfields( words[, sep])
Questa funzione si comporta in modo identico a join(). (In passato, join() veniva utilizzata con un solo argomento, mentre joinfields() veniva utilizzata con due soli argomenti.) Notate che non esiste nessun metodo joinfields() per oggetti di tipo stringa; utilizzate piuttosto la funzione join().

lstrip( s[, chars])
Restituisce una copia della stringa con i caratteri iniziali rimossi. Se chars viene omesso o è None, i caratteri di spaziatura vengono rimossi. Se viene impostato e non è None, chars deve essere una stringa; i caratteri nella stringa verranno rimossi dall'inizio della stringa su cui viene chiamato questo metodo. Modificato nella versione 2.2.3: Il parametro chars non può essere passato in versioni precedenti alla 2.2.

rstrip( s[, chars])
Restituisce una copia della stringa con i caratteri finali rimossi. Se chars viene omesso o è None, i caratteri di spaziatura vengono rimossi. Se viene impostato e non è None, chars deve essere una stringa; i caratteri nella stringa verranno rimossi dalla fine della stringa su cui viene chiamato questo metodo. Modificato nella versione 2.2.3: Il parametro chars non può essere passato in versioni precedenti alla 2.2.

strip( s[, chars])
Restituisce una copia della stringa con i caratteri iniziali e finali rimossi. Se chars viene omesso o è None, i caratteri di spaziatura vengono rimossi. Se viene impostato e non è None, chars deve essere una stringa; i caratteri nella stringa verranno rimossi da entrambe le estremità della stringa su cui il metodo viene chiamato. Modificato nella versione 2.2.3: Il parametro chars viene aggiunto. Il parametro chars non può essere passato in versioni precedenti alla 2.2.

swapcase( s)
Restituisce una copia di s, ma con le lettere minuscole convertite in maiuscole e viceversa.

translate( s, table[, deletechars])
Cancella da s tutti i caratteri che si trovano in deletechars (se presente), e traduce i caratteri rimasti utilizzando table. table deve essere una stringa di 256 caratteri, dove ogni elemento corrisponde alla traduzione del carattere avente il valore corrispodente alla posizione all'interno della stringa di traduzione.

upper( s)
Restituisce una copia di s, ma con le lettere minuscole convertite in maiuscole.

ljust( s, width)
rjust( s, width)
center( s, width)
Queste funzioni rispettivamente giustificano a sinistra, a destra e centralmente una stringa, in un campo di dimensione data. Restituiscono una stringa di larghezza pari ad almeno width caratteri, creata riempiendo la stringa s con degli spazi fino al raggiungimendo della dimensione data, a destra, a sinistra o ad entrambi i lati. La stringa non viene mai troncata.

zfill( s, width)
Riempie una stringa numerica a sinistra, con degli 0 fino a che non viene raggiunta la larghezza data. Le stringhe che iniziano con un segno vengono gestite correttamente.

replace( str, old, new[, maxreplace])
Restituisce una copia della stringa str con tutte le occorrenze della sotto stringa old sostituite dalla stringa new. Se l'argomento facoltativo maxreplace viene fornito, le prime maxreplace occorrenze vengono sostituite.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.