Python 3:
La risposta di user225312 è corretta:
A. Per contare il numero di caratteri strnell'oggetto, puoi usare la len()funzione:
>>> print(len('please anwser my question'))
25
B. Per ottenere la dimensione della memoria in byte allocata per memorizzare l' stroggetto, è possibile utilizzare la sys.getsizeof()funzione
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
Python 2:
Diventa complicato per Python 2.
A. La len()funzione in Python 2 restituisce il conteggio dei byte allocati per memorizzare i caratteri codificati in un stroggetto.
A volte sarà uguale al conteggio dei personaggi:
>>> print(len('abc'))
3
Ma a volte non lo farà:
>>> print(len('йцы')) # String contains Cyrillic symbols
6
Questo perché è strpossibile utilizzare internamente la codifica a lunghezza variabile . Quindi, per contare i personaggi in strte dovresti sapere quale codifica strsta usando il tuo oggetto. Quindi puoi convertirlo in unicodeoggetto e ottenere il conteggio dei personaggi:
>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols
3
B. La sys.getsizeof()funzione fa la stessa cosa di Python 3: restituisce il conteggio dei byte allocati per memorizzare l'intero oggetto stringa
>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32