Metodi delle stringhe
Le stringhe sono un esempio di oggetti Python. Un oggetto contiene sia i dati (la stringa vera e propria) che i metodi, che essenzialmente sono funzioni incorporate nell’oggetto e sono disponibili per qualsiasi istanza dell’oggetto.
Tramite due funzioni hai la possibilità di conoscere la tipologia di un oggetto ed i metodi ad esso associati.
La funzione type
mostra il tipo di oggetto e la funzione dir
mostra i metodi disponibili.
stringa = 'Hello world'
type(stringa)
stringa = 'Hello world'
dir(stringa)
help(str.capitalize)
⇒ Help on method_descriptor:
capitalize(self, /)
Return a capitalized version of the string.
Utilizzare i metodi
Tramite la funzione dir otterrai un elenco di metodi, di cui, tramite la funzione help puoi ottenere una semplice documentazione; esiste però
una migliore fonte di documentazione riguardo i metodi: https://docs.python.org/3.5/library/stdtypes.html#string-methods.
Chiamare un metodo è simile al chiamare una funzione, cioè riceve argomenti e restituisce un valore, con una sintassi diversa. Chiamiamo un metodo facendo precedere il nome a quello della variabile usando un punto come delimitatore.
Ad esempio, il metodo upper
prende una stringa in input e restituisce una nuova stringa con tutte le lettere maiuscole:
Non va utilizzata la sintassi upper(word), ma piuttosto word.upper()
.
word = 'matematica'
new_word = word.upper()
print(new_word)
La chiamata di un metodo è chiamata invocazione: nel caso precedente diremo che stiamo invocando upper sulla stringa word.
word = 'matematica'
pos = word.find('a')
print(pos)
word = 'matematica'
pos = word.find('ema')
print(pos)
word = 'matematica'
pos = word.find('ma',2)
print(pos)