欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用len()函数计算字符串的长度详解》。本知识点主要内容有:在Python中使用len()函数计算字符串在UTF-8编码中的长度和使用len()函数计算字符串在GBK编码中的长度。
在Python中,不同的字符采用的编码不同,所占用的字节数也是不同的。要想计算字符串的长度,先了解字符所占用的字节数。
我们在字符串的编码转换中学过,汉字在GBK/GB2312中一个中文字符,占两个字节。在UTF-8中一般占3个字节(或者4个字节)。
在Python中,提供了len()函数计算字符串的长度,其语法如下:
len(string)
其中,string用于指定要进行长度统计的字符串。
例如,定义一个字符串,内容为“Python是当下最热门的编程语言”,然后应用len()函数计算该字符串的长度,代码如下:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str) # 计算字符串的长度
print(a) # 输出字符串的长度
运行结果为:
17
>>>
从上面的结果可以看出,在默认的情况下,通过len()函数计算字符串的长度时,不区分英文,数字和汉字,所有的字符都认为是一个字符。
但是在实际开发中,需要获取字符串实际所占用的字节数。如果采用gbk或者gb2312编码,则一个汉字占用两个字节;采用utf-8编码,则一个汉字占用3个字节。这时,我们可以通过encode()方法进行编码后再进行获取。
1、采用默认编码UTF-8编码时,获取字符串“Python是当下最热门的编程语言”的长度,代码为:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode('utf-8')) # 计算utf-8编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
39
>>>
为什么是39呢?是因为在utf-8的编码中,一个汉字占3个字节,一共11个汉字就是33个字节,加上6个英文字母占6个字节,就是39个字节了。
下面我们在来使用GBK编码的长度时多少?
2、用默认编码GBK编码时,获取字符串“Python是当下最热门的编程语言”的长度,代码为:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode('gbk')) # 计算gbk编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
28
>>>
为什么是28呢?因为在GBK的编码中,一个汉字占2个字节,一共11个汉字占22个字节,加上6个英文字母占6个字节,就是28个字节了。
站长在线提醒您,因为UTF-8编码是Python3中的默认编码,在进行计算编码时,可以不用输入。即下面代码也是对的:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode()) # 计算默认编码utf-8编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
39
>>>
到此为止,《在Python中使用len()函数计算字符串的长度详解》就讲解完毕了,我们下一个知识点为《在Python中截取字符串(切片)详解》。
,