欢迎你来到站长在线的站长学堂学习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中截取字符串(切片)详解》。

站长在线python精讲:在Python中使用len()函数计算字符串的长度详解相关推荐

  1. Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度

    Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度 在编程语言中,获取特定数据类型的长度是一种常见做法. Python也一样,因为可以使用内置的 len() 函数来获取字 ...

  2. 站长在线Python精讲:Python中函数的返回值

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中函数的返回值>.本文的主要内容有:函数的返回值的含义.函数设置返回值的作用.return语句位置与多条 ret ...

  3. 站长在线Python精讲:Python中字符串编码转换encode编码和decode解码详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中字符串编码转换:encode编码和decode解码详解>.本知识点主要内容有:常用编码简介.使用encode( ...

  4. python中backward_pytorch的梯度计算以及backward方法详解

    基础知识 tensors: tensor在pytorch里面是一个n维数组.我们可以通过指定参数reuqires_grad=True来建立一个反向传播图,从而能够计算梯度.在pytorch中一般叫做d ...

  5. 站长在线Python精讲:Python中正则表达式的语法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中正则表达式的语法详解>.本知识点主要内容有9点:行定位符.元字符.限定符.字符集.排除字符.选择字符.转义字符 ...

  6. 站长在线Python精讲:Python中集合的交集、并集、差集和对称差集运算方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中集合的交集.并集.差集和对称差集运算方法详解>.主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集. ...

  7. Matlab库中过采样函数rcosflt参数及源代码详解(翻译)

    函数定义 rcosflt函数作为MATLAB即将被替换的函数,在MATLAB R2018b中还可以使用,但是已经查不到帮助文档:虽说是要即将被替换,但是函数内部的原理其实都是一样的,这个函数搞懂了,不 ...

  8. php中关于img2thumb函数的图片裁剪规则详解

    首先人为设定一个尺寸比如250*150,那么系统就会根据你设定的尺寸, 自动对 上传的图片进行宽高比换算,同时遵循等比例缩放原则. 1.比如例1: 上传了1476*830尺寸的图片,那么计算机就会自动 ...

  9. 站长在线python精讲:在Python中使用“+”运算符来拼接字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用"+"运算符来拼接字符串详解>.本知识点主要内容有:在Python中,我们可以使用& ...

最新文章

  1. Android官方开发文档Training系列课程中文版:OpenGL绘图之应用投影与相机视图
  2. python中将嵌套列表展开
  3. wireshark的使用
  4. statemodels 笔记: lowess
  5. C++11新特性-容器的cbegin和cend函数
  6. PHP的十个高级技巧
  7. mysql数据库优化面试
  8. element-ui多选框模糊搜索输入文字闪动问题
  9. 马斯克:挑战纽北赛道的Model S配有7个座椅
  10. [JZOJ5553][20190625]谜
  11. oracle报表工具查询数据太慢优化方案,页面优化和sql优化
  12. 记一次被200G流量 DDOS攻击的处理经验
  13. 写博客时怎么录制动态图片或者小视频
  14. 《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
  15. IOS端微信小程序API播放视频无效,应该这样做
  16. python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)
  17. 前端测试框架—jest基本使用
  18. 程序人生--2003年(20)
  19. 全自动过滤型射频水处理器工作原理
  20. xss编码绕过详解(更像是在介绍实体编码和JS编码的解析过程)

热门文章

  1. Deep Learning in a Nutshell
  2. Git:暂时保存更改
  3. Matlab:实现Fra多缝衍射仿真
  4. 组态王下拉式组合框使用教程_组态王下拉列表框问题
  5. php培训技能,多迪php培训该掌握的10大技能,你都掌握了哪些?
  6. Codeforces 156B. Suspects
  7. php pho 连接 MySQL_数据库管理系统|PHOMyAdmin MYSQL数据库管理4.4.10 官方版_ - 极光下载站...
  8. csu1334 好老师
  9. 老生常谈淘宝的api接口问题
  10. 宜家推出2020年夏季新品系列,涵盖家具、纺织品等多品类