Python translate()方法 Python2和Python3的不同

1. 概述

Python translate() 方法根据 maketrans() 方法给出的字符映射转换表转换字符串中的字符。

2. 语法

translate() 方法语法:

Python3中:

S.translate(table)

Python2中:

S.translate(table[,delchars])

参数

  • table – 字符映射转换表表,是通过 maketrans() 方法转换而来的。
  • delchars – 可选参数,表示要删除的字符组成的字符串。

返回值

  • 返回根据 maketrans() 方法给出的字符映射转换表转换后的字符串,如果给出delchars参数,则会删除这些字符然后进行转换。

3. Python2 、Python3区别

  • 注意python2.0以后的版本, 对于字符串查找、替换、大小写转变等常用方法,string模块不需要再调用了,它的方法改成用S.method()的形式调用,只要变量S是一个字符串对象就可以可以直接使用它的函数方法,不需要额外的 import 再导入。
  • maketrans() 方法在python2中需要充string模块中导入,在Python中可以直接使用,如:
s = 'abcdef'
table = s.maketrans('bc','BC')
s.translate(table)
  • 官方文档
    Python3
    Python3
    Python2
    Python2

4. 用法

Python3

intab = "opqrst"
outtab = "567890"
deltab = "thon"

trantab1 = str.maketrans(intab, outtab)  # 创建字符映射转换表
trantab2 = str.maketrans(intab, outtab, deltab)  # 创建字符映射转换表,并删除指定字符(替换之前删除)

test = "maketrans function is different in Python2 and Python3! Wait and see!"

print(test.translate(trantab1))
print(test.translate(trantab2))

输出:

make08an9 func0i5n i9 diffe8en0 in Py0h5n2 and Py0h5n3! Wai0 and 9ee!
make8a9 fuci i9 diffe8e i Py2 ad Py3! Wai ad 9ee!

Python2

import string  # 导入string模块

intab = "opqrst"
outtab = "567890"
deltab = "thon"

trantab = string.maketrans(intab, outtab)  # 创建字符映射转换表

test = "maketrans function is different in Python2 and Python3! Wait and see!"

print(test.translate(trantab))
print(test.translate(trantab, deltab))  # Python2中,删除指定字符在 translate() 方法中

输出:

make08an9 func0i5n i9 diffe8en0 in Py0h5n2 and Py0h5n3! Wai0 and 9ee!
make8a9 fuci i9 diffe8e i Py2 ad Py3! Wai ad 9ee!

附录

Python2和Python3有哪些区别|全面总结|专业避坑

Python2和Python3有哪些区别|全面总结|专业避坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值