使用元组作为类方法的输入时发生TypeError

时间:2018-11-04 13:17:18

标签: python vtk

该问题专门发生在名为vtkTransform的VTK对象上。该方法是RotateWXYZ(angle,x,y,z)。效果很好:

transform = vtk.vtkTransform()
transform.RotateWXYZ(45,0,1,0)

但是在尝试输入元组时:

a = (45,0,1,0)
transform.RotateWXYZ(a)

我收到以下消息:

  

TypeError:RotateWXYZ()的任何重载都不带1个参数

如何为该方法“拆包”元组以将值作为单独的输入接收?

1 个答案:

答案 0 :(得分:-1)

编辑:

如Martijn所说,最好的解决方案是

transform.RotateWXYZ(*a)

要进行转换。RotateWXYZ()必须传递 4个参数,而不是一个元组

transform = vtk.vtkTransform()
transform.RotateWXYZ(45,0,1,0)

或者您可以执行以下操作:

a = (45,0,1,0)
transform.RotateWXYZ(a[0],a[1],a[2],a[3])