网站首页 > 技术文章 正文
在上一节的合集中,我们了解了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 老鸟进阶必备技能,看懂显示器参数
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 511℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 487℃MySQL service启动脚本浅析(r12笔记第59天)
- 467℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 465℃启用MySQL查询缓存(mysql8.0查询缓存)
- 445℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 424℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 421℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)