python中len什么意思(len函数计算字符串长度详解)
本文学习的是《在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中截取字符串(切片)详解》。
原文地址:https://tangjiusheng.cn/it/1195.html
- python中list删除指定元素(教你列表list 元素删除方法)
- python input函数用法(python把input变成数字)
- python中+=是什么意思(python算术运算符的使用)
- Python程序的三种基本控制结构(带你认识程序控制结构)
- str()在python中是什么意思(repr()函数和str()的区别)
- 学会python能干嘛可以从事什么工作(python编程是干什么的)
- Python和Anaconda区别(Anaconda和Python是什么关系)
- python lambda函数的用法(一文了解lambda函数)
- matlab和python的区别大吗(matlab用来干嘛的)
- sublime怎么运行python代码(运行python快捷键)