加州老鹰886 发表于 2021-3-2 15:35:48

String.translate(str,del="")


>>> str8 = "this is string example....wow!!!"
>>> str8.translate(str.maketrans('aeior','12345'))
'th3s 3s st53ng 2x1mpl2....w4w!!!'
到这边没有问题,下面问题来了:

>>> str8.translate(str.maketrans('aeior','12345'),'w')
报错:
Traceback (most recent call last):
File "<pyshell#115>", line 1, in <module>
    str8.translate(str.maketrans('aeiou','12345'),'w')
TypeError: translate() takes exactly one argument (2 given)

明明参数可以有两个,为啥错误类别说我“给了两个参数”所以错了呢

wp231957 发表于 2021-3-2 16:12:14

str.translate(table)
bytes.translate(table[, delete])   
bytearray.translate(table[, delete])

前面是str时只接受一个参数
接受第二个参数时,前面是字节数组

加州老鹰886 发表于 2021-3-3 15:37:04

wp231957 发表于 2021-3-2 16:12
str.translate(table)
bytes.translate(table[, delete])   
bytearray.translate(table[, delete])


好的,谢谢!
页: [1]
查看完整版本: String.translate(str,del="")