网站首页 > 技术文章 正文
在上一节的合集中,我们了解了Python集合增删改及集合间运算的相关知识,本节我们将进一步了解一下Python字符串的常用操作的相关知识。
1.拼接字符串
使用 + 运算符可完成对多个字符串的拼接,+ 运算符可以连接多个字符串并产生一个字符串对象。
例如:
mot_en='Remembrance is a form of meeting. Forgetfulness is a form of freedom. '
mot_cn='记忆是一种相遇,遗忘是一种自由。'
print(mot_en+'——'+mot_cn)注:字符串是不允许直接与其他类型的数据拼接的,否则会抛出异常信息,因此在拼接其他的数据类型时候,需要将其转换为字符串类型进行拼接。
2.计算字符串的长度
由于不同的字符所占字节数不同,所以要计算字符串的长度,需要先了解各个字符所占的字节数。在Python中,数字、英文、小数点、下划线和空格占一个字节,一个汉字可能会占2~4个字节,占几个字节取决于采用的编码,汉字在GBK/GB2312 编码中占2个字节,在UTF-8/unicode 编码中一般占用3个字节(或4个字节)。
在Python中,提供了len()函数计算字符串的长度,语法格式如下:
len(string)
参数说明:
string:表示要进行长度统计的字符串例如:
str1='人生苦短,我用Python!'
length=len(str1)
print(length)上面的代码,执行后得到的结果是14。从这个结果中可以看出,默认情况下,通过len()函数计算字符串的长度时,不区分英文,数字和汉字,所有的字符都按一个字符去计算。
在实际的开发中,有时需要获取字符串实际占用的字节数,即如果是采用UTF-8编码,汉字所占3个字节,采用GBK或者GB2312,汉字所占2个字节,这时可以通过encode()方法进行编码后,在进行获取。
例如上面的例子,可以采用下面的代码,来获取采用UTF-8实际所占的字节数:
str1='人生苦短,我用Python!'
length=len(str1.encode())
print(length)上面的代码执行后的结果为28个字节数,这是因为汉字加中文的标点符号共7个,占21个字节,英文字母加英文的标点符号占7个字节,共28个字节。
如果要想采用GBK编码来计算上面例子的所占字节数,可以采用下面的代码:
str1='人生苦短,我用Python!'
length=len(str1.encode('gbk'))
print(length)上面的代码执行后的结果为21个字节数,这是因为汉字加中文的标点符号共7个,占14个字节,英文字母加英文的标点符号占7个字节,共28个字节。
花絮:
本期的Python 字符串的常用操作就分享到这里,下期我们将继续分享Python字符串的截取及其他常用操作的相关知识,感兴趣的朋友可以关注我。
猜你喜欢
- 2024-11-20 Python基础编程——算术运算
- 2024-11-20 Python字符串方法之-字符串填充
- 2024-11-20 Python第14题:最长公共前缀【leetcode】
- 2024-11-20 从 0 到 1:构建强大且易用的规则引擎
- 2024-11-20 分享3个干货满满的Python实战项目,点赞收藏
- 2024-11-20 python笔记8:静静一起来学习-字符串相关方法
- 2024-11-20 零基础Python完全自学教程14:Python中的序列知识详解
- 2024-11-20 你需要了解的最重要的Python概念
- 2024-11-20 Python整数缓存机制
- 2024-11-20 老鸟进阶必备技能,看懂显示器参数
- 最近发表
-
- 用Cursor开启JAVA+AI生涯_javascirpt怎么开启
- 大数据调度服务监控平台_大数据调度是什么意思
- SpringBoot、MyBatis、Vue搭建一个Java企业应用开源框架源码分享
- 大数据技术之Flume_大数据volume的含义
- Jenkins运维之路(Slave容器节点)_jenkins slave工作原理
- 程序员自救指南:IDEA 卡成狗?我的 9G 堆内存调参表让你起飞 附避坑
- JMeter:一个简单的测试计划怎么做?
- Windows 命令行终端 PowerShell 美化计划
- JDK25即将发布!新特性概览_jdk52.0
- JDK 25 新特性极简总结(2025 年 9 月 16 日发布,LTS 长期支持)
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
