Python学习:len() 函数详解:获取字符串长度或字节数、join()方法:合并字符串,语法格式:len(s


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学习交流群:711312441
list = ['www', 'baidu', 'com']
str = '.'.join(list)
print(str)

输出

www.baidu.com

示例二:

dir = '', 'usr', 'bin', 'env'
print(type(dir))
str1 = '/'.join(dir)
print(str1)

输出

<class 'tuple'>
/usr/bin/env

评论关闭