网站首页 > 技术文章 正文
在上一节的合集中,我们了解了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 老鸟进阶必备技能,看懂显示器参数
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)