bab*_*ick 145 python string string-length
例如,我得到一个字符串:
str = "please answer my question"
我想把它写到一个文件.
但是在将字符串写入文件之前,我需要知道字符串的大小.我可以用什么函数来计算字符串的大小?
use*_*312 238
如果你在谈论字符串的长度,你可以使用len():
>>> s = 'please answer my question'
>>> len(s)  # number of characters in s
25
如果您需要以字节为单位的字符串大小,则需要sys.getsizeof():
>>> import sys
>>> sys.getsizeof(s)
58
另外,不要调用你的字符串变量str.它会影响内置str()功能.
Igo*_*rup 33
user225312的答案是正确的:
A.要计算str对象中的字符数,可以使用以下len()函数:
>>> print(len('please anwser my question'))
25
B.要获取分配给存储str对象的字节大小,可以使用sys.getsizeof()函数
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
对于Python 2来说,它变得越来越复杂.
答:len()Python 2中的函数返回分配给在对象中存储编码字符的字节数str.
有时候它会等于字符数:
>>> print(len('abc'))
3
但有时,它不会:
>>> print(len('???'))  # String contains Cyrillic symbols
6
那是因为str可以在内部使用可变长度编码.因此,要计算str您的str对象正在使用的编码.然后你可以将它转换为unicode对象并获得字符数:
>>> print(len('???'.decode('utf8'))) #String contains Cyrillic symbols 
3
B.该sys.getsizeof()函数与Python 3中的函数相同 - 它返回分配用于存储整个字符串对象的字节数
>>> print(getsizeof('???'))
27
>>> print(getsizeof('???'.decode('utf8')))
32
PS我在32位Windows上测试了Anaconda Python下的代码示例