Le stringhe sono insiemi di caratterie, frasi, racchiuse tra apici ' o doppi apici ".
"Questa è una stringa"
'Anche questa è una stringa'
>>> type("Questa è una stringa")
<class 'str'>
>>> type('Anche questa è una stringa.')
<class 'str'>Le stinghe possono essere unite tramite l'operatore della somma +. Ma cerca di non farlo.
>>> "Hello "+"world!"
'Hello world!'Le stringhe (ma non le variabili contenenti stringhe) possono essere unite anche senza l'operatore +
>>> "Hello " "world!"
'Hello world!'Una stringa può essere considerata come una lista di caratteri, in quanto tale ogni carattere può essere raggiunto tramite un indice.
>>> "Questa è una stringa"[0]
'Q'È possibile conoscere la lunghezza di una stringa grazie alla funzione len()
>>> len("Questa è una stringa")
20In Python esistono differenti modi per formattare le stringhe.
Il tipo stringa ha un metodo format() per formattare le stringhe.
In questo esempio le variabili name e food vanno a completare la stringa riempiendo i campi (segnalati dalle parentesi grafe) nell'ordine in cui vengono passate al metodo .format().
>>> name="John"
>>> food="le lasagne"
>>> "{} vuole mangiare {}".format(name, food)
'John vuole mangiare le lasagne'È possibile dare un numero ai "campi" da riempire e ripetere così all'interno della stringa gli argomenti passati a .format():
>>> "{0} be nimble, {0} be quick, {0} jump over the {1}".format("Jack", "candle stick")
'Jack be nimble, Jack be quick, Jack jump over the candle stick'È possibile usare dei nomi al posto dei numeri degli argomenti
>>> "{nome} vuole mangiare {cibo}".format(nome="Bob", cibo="le lasagne")
'Bob vuole mangiare le lasagne'Un altro stile di formattazione delle stringhe è dato dall'operatore % in grado di mettere in relazione una formattazione (in formato stringa) e dei valori.
>>> "%s possono essere %s" % ("Le stringhe", "interpolate")
'Le stringhe possono essere interpolate'Quosto modo è al momento meno utilizzato, per saperne di più si può consultare la pagina string-formatting della guida ufficiale.
Da Python 3.6 sono state aggiunte le Formatted string literals o più semplicemente f-string, vengono indicate con una f prima della stringa vera e propria e permettono una formattazione in stile template.
>>> name = 'John'
>>> food = 'le lasagne'
>>> f'Si chiama {name} e ama {food}.'
Si chiama John e ama le lasagne.Con le f-string è possibile anche eseguire delle espressioni all'interno del template.
>>> name = 'John'
>>> seven = 7
>>> f'''Il suo nome è {name.upper()}
...ed ha {6 * seven} anni.'''
'Il suo nome è JOHN ed ha 42 anni.'This content is a derivative of "Learn X in Y minutes" by adambard, used under a CC BY-SA 3.0 license.