Python 3:
La risposta di user225312 è corretta:
A. Per contare il numero di caratteri str
nell'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' str
oggetto, è 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 str
oggetto.
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é è str
possibile utilizzare internamente la codifica a lunghezza variabile . Quindi, per contare i personaggi in str
te dovresti sapere quale codifica str
sta usando il tuo oggetto. Quindi puoi convertirlo in unicode
oggetto 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