Python中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用len()函数。
语法格式:
len(string)
string 用于指定要进行长度统计的字符串
示例:
a = 'www.baidu.com'print(len(a))
输出
13
在 Python 中,不同的字符所占的字节数不同,数字、英文字母、小数点、下划线以及空格,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。例如,汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节。
以 UTF-8 编码为例,字符串“人生苦短,我用Python”所占用的字节数如图 1 所示。
我们可以通过使用 encode() 方法,将字符串进行编码后再获取它的字节数。例如,采用 UTF-8 编码方式,计算“人生苦短,我用Python”的字节数,可以执行如下代码:
示例:
str1 = '人生苦短,我用Python'print(len(str1.encode()))
输出
27
因为汉字加中文标点符号共 7 个,占 21 个字节,而英文字母和英文的标点符号占 6 个字节,一共占用 27 个字节。
同理,如果要获取采用 GBK 编码的字符串的长度,可以执行如下代码:
str1 = '人生苦短,我用Python'print(len(str1.encode('gbk')))
输出
20
join()方法:合并字符串
使用 join() 方法合并字符串时,它会将列表(或元组)中多个字符串采用固定的分隔符连接在一起。例如字符串“www.baidu.com” 就可以看做是通过分隔符 “.” 将 [‘www’,’baidu’,’com’]列表合并为一个字符串的结果。
语法格式:
newstr = str.join(iterable)
此方法中各参数的含义如下:
- newstr:表示合并后生成的新字符串;
- str:用于指定合并时的分隔符;
- iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。
示例一:
#Python学习交流群:711312441list = ['www', 'baidu', 'com']str = '.'.join(list)print(str)
输出
www.baidu.com
示例二:
dir = '', 'usr', 'bin', 'env'print(type(dir))str1 = '/'.join(dir)print(str1)
输出
/usr/bin/env