5.3 Python len()函数:获取字符串长度或字节数

news2024/11/25 15:44:54

Python len()函数详解:获取字符串长度或字节数

Python 中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用 len 函数。

len 函数的基本语法格式为:

len(string)

其中 string 用于指定要进行长度统计的字符串。

例如,定义一个字符串,内容为“http://c.biancheng.net”,然后用 len() 函数计算该字符串的长度,执行代码如下:

>>> a='http://c.biancheng.net'
>>> len(a)
22

在实际开发中,除了常常要获取字符串的长度外,有时还要获取字符串的字节数。

在 Python 中,不同的字符所占的字节数不同,数字、英文字母、小数点、下划线以及空格,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。例如,汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节。

以 UTF-8 编码为例,字符串“人生苦短,我用Python”所占用的字节数如图 1 所示。

img
图 1 汉字和英文所占字节数

我们可以通过使用 encode() 方法,将字符串进行编码后再获取它的字节数。例如,采用 UTF-8 编码方式,计算“人生苦短,我用Python”的字节数,可以执行如下代码:

>>> str1 = "人生苦短,我用Python"
>>> len(str1.encode())
27

因为汉字加中文标点符号共 7 个,占 21 个字节,而英文字母和英文的标点符号占 6 个字节,一共占用 27 个字节。

同理,如果要获取采用 GBK 编码的字符串的长度,可以执行如下代码:

>>> str1 = "人生苦短,我用Python"
>>> len(str1.encode('gbk'))
20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能工具之 MySQL OLTP Sysbench BenchMark 测试示例

文章目录 一、前言二、测试环境1、服务器配置2、测试拓扑 三、测试工具安装四、测试步骤1、导入数据2、压测数据3、清理数据 五、结果解析六、最后 一、前言 做为一名性能工程师掌握对 MySQL 的性能测试是非常必要的,本文基于 Sysbench 对MySQL OLTP(联…

YOLOv8中的C2f模块

文章目录 一、结构概述二、模块功能 一、结构概述 C2f块:首先由一个卷积块(Conv)组成,该卷积块接收输入特征图并生成中间特征图特征图拆分:生成的中间特征图被拆分成两部分,一部分直接传递到最终的Concat块,另一部分传递到多个Botleneck块进…

uniapp(全端兼容) - 最新详细实现刻度尺组件效果,uni-app实现尺子打分及手指拖动刻度尺打分评分功能,可左右滑动刻度尺改变数值、带刻度尺滑块功能、

效果图 在uniapp微信小程序/手机h5网页网站/安卓app/苹果app/支付宝小程序/nvue等(全平台完美兼容)开发中,实现uniApp各端都兼容的 “刻度尺(横格尺 | 尺子)” 手势左右两侧拖动、手指滑动刻度尺功能,水平刻度尺,支持自定义尺子颜色、大小、刻度、滑动时的步进值、最大…

【Java】已解决java.net.ConnectException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.net.ConnectException异常 在Java的网络编程中,java.net.ConnectException是一个常见的异常,它通常表明在尝试建立网络连接时出现了问题。本文将…

“循环购“:快消品行业的创新商业模式引领者

大家好,我是吴军,来自一家在软件开发与商业模式创新领域享有盛誉的公司。我们专注于为企业提供全方位的商城系统搭建及商业模式定制服务。迄今为止,我们已经成功地为众多企业打造了超过200种独特的商业模式,助力他们实现了显著的商…

如何跳出认知偏差,个人认知能力升级

一、教程描述 什么是认知力?认知力(cognitive ability),实际上就是指一个人的认知能力,是指人的大脑加工、储存和提取信息的能力,或者主观对非主观的事物的反映能力,如果变成大白话&#xff0c…

Dev Eco Studio设置中文界面

Settings-Plugins-installed-搜索Chinese

WindTerm软件的本地模式和远程模式

WindTerm作为一个多功能的远程终端控制软件,支持本地模式和远程模式两种键盘输入处理方式,这两种模式的主要区别在于键盘输入的处理逻辑和目标: 本地模式(Local Mode) 在本地模式下,WindTerm不对键盘输入…

Android设计模式系列--模板方法模式

认识到模板方法的这种思想,父类可以让未知的子类去做它本身可能完成的不好或者根本完成不了的事情,对框架学习大有帮助。 本文以View中的draw方法为例,展开分析。 模板方法,TemplateMethod,光是学习这个模式&#xf…

Flutter第十二弹 Flutter多平台运行

目标: 1.在多平台调试启动Flutter程序运行 一、安卓模拟器 1.1 检查当前Flutter适配的版本 flutter doctor提供了Flutter诊断。 $ flutter doctor --verbose /Users/zhouronghua/IDES/flutter/bin/flutter doctor --verbose [✓] Flutter (Channel master, 2.1…

npm 安装踩坑

1 网络正常,但是以前的老项目安装依赖一直卡住无法安装?哪怕切换成淘宝镜像 解决办法:切换成yarn (1) npm i yarn -g(2) yarn init(3) yarn install在安装的过程中发现: [2/4] Fetching packages... error marked11.1.0:…

2025届阳光保险集团应届生校招社招入职测评真题题库北森自适应测评题库

第1题 人类使用塑料袋的历史很短,但对塑料袋的指责却不绝于耳。全世界每年要消耗5000亿到1万亿个塑料袋。废弃的塑料袋被掩埋会影响农作物吸收营养和水分,污染地下水;焚烧塑料袋则会产生有毒气体,影响人体健康。因此如何处理塑料袋十分重要。…

电路仿真实战设计教程--平均电流控制原理与仿真实战教程

1.平均电流控制原理: 平均电流控制的方块图如下,其由外电路电压误差放大器作电压调整器产生电感电流命令信号,再利用电感电流与电流信号的误差经过一个电流误差放大器产生PWM所需的控制电压,最后由控制电压与三角波比较生成开关管的驱动信号。 2.电流环设计: 根据状态平…

基于chatgpt-on-wechat搭建个人知识库微信群聊机器人

前言 啊,最近在别人微信群里看到一个聊天机器人,感觉挺好玩的。之前GPT刚出来的时候就知道有人把聊天机器人接入到微信或者QQ中来增加互动,但是当时没想那个想法。 很久没关注这块了,发现现在可以使用大模型知识库的方式来打造自…

微服务改造启动多个 SpringBoot 的陷阱与解决方案

在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项目采用微服务架构,有多个springboot应用。 一下子内存就不够用了&#xf…

MYSQL 四、mysql进阶 2(mysql逻辑架构以及查询流程)

一、mysql的逻辑架构 1. 逻辑架构剖析 1.1 服务器处理客户端请求 mysql是典型的c/s架构,即 client/server 架构,不论是客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本&am…

【D3.js in Action 3 精译】关于本书

文章目录 本书读者本书结构与路线图本书代码liveBook 在线论坛 D3.js 项目的传统开发步骤 本书读者 这本书适用于所有渴望在数据可视化工作中获得完全创意自由的人,从定制化的经典图表到创建独特的数据可视化布局,涵盖内容广泛,应有尽有。您…

RabbitMQ —— 理解及应用场景

一、MQ相关的概念 RabbitMQ 是一种分布式消息中间件,消息中间件也称消息队列MQ,那么什么是MQ呢?请继续阅读下文。 1.1、MQ的基本概念 什么是MQ MQ(message queue),从字面意思上看就个 FIFO 先入先出的队列,只不过队列…

基于SpringBoot+Vue在线考试报名系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

看到vue3源码中的__tests__文件中有很多xxx.spec.ts文件,这些文件是干什么的

问: computed.spec.ts这是什么文件 回答: computed.spec.ts 是一个文件命名的示例,通常用于编写和运行针对计算机软件中"computed"模块的测试。在这种情况下,.ts 扩展名表明这是一个 TypeScript 文件,通常用于编写 Angular 或者…