TypeError:split()在Python 2.x中不带关键字参数

zar*_*ara 11 python string split python-2.7

我试图将文档的一部分分成由&符号分隔的不同组件.这就是我所拥有的:

name,function,range,w,h,k,frac,constraint = str.split(str="&", num=8)
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: split() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释错误,并为我提供另一种方法来完成这项工作吗?

iCo*_*dez 21

str.split调用的参数sepmaxsplit:

str.split(sep="&", maxsplit=8)
Run Code Online (Sandbox Code Playgroud)

但是你只能在Python 3.x中使用这样的参数名称.在Python 2.x中,您需要执行以下操作:

str.split("&", 8)
Run Code Online (Sandbox Code Playgroud)

在我看来这两个版本最好,因为使用名称实际上是多余的. str.split是一个非常着名的Python工具,所以我怀疑任何Python程序员都无法理解该方法的参数意味着什么.

此外,您应该避免使用户定义的名称与其中一个内置名称相同.这样做会使内置过多,并使其在当前范围内无法使用.所以,我会为你的字符串选择一个不同的名字str.