python translate()三种语法结构和用法
translate()方法描述
在介绍makestrans()方法的章节里头,简单地介绍过translate(),可以将makestrans()的返回值(字符映射转换表)用于translate()方法,二者常常配合使用。translate()也是python字符串的内置类实例方法,可以根据传递的字符串映射转换表转换字符串的字符。
translate()语法及参数
- str.translate(table)
- bytes.translate(table[,delete])
- bytearray.translate(table[,delete])
1、第一个参数table为字符串映射转换表,一般情况下和makestrans()方法搭配使用,为makestrans()的返回值;2、第二个参数delete指定translate()方法要过滤的字符列表。
translate()方法返回值
translate()方法返回值为经过字符转换和字符过滤的python的字符串类型。
translate()方法实例代码
>>> intab = 'bn'
>>> outtab = '笨鸟'
>>> trantab = str.maketrans(intab, outtab)
>>> type(trantab)
<class 'dict'>
>>> str = 'bn工具,x1y1z1.com'
>>> str.translate(trantab)
'笨鸟工具,x1y1z1.com'
>>> byte_tab = bytes.maketrans(b'123',b'568')
>>> str2 = b'123,abc'
>>> str2.translate(byte_tab)
b'568,abc'
>>> str2.translate(byte_tab, b'1')
b'68,abc'
实例代码解析
如上代码,str2调用translate()方法并传递第二个参数指定过滤掉的字符时,注意指定过滤的是原字节串当中的字符,而不是新字节串中的字符。