def __init__(self, *xyz):
        l = len(xyz)
        if l == 1:
            obj = xyz[0]
            try:
                xyz = obj.x, obj.y, obj.z
            except AttributeError:
                try:
                    xyz = obj['x'], obj['y'], obj['z']
                except __HOLE__:
                    xyz = tuple(obj[:3])
        elif l == 0:
            xyz = (0, 0, 0)
        elif l != 3:
            raise ValueError('Wrong length: expected 3, got %s' % xyz)
        super(Vector3, self).__init__(*xyz)
dataset/ETHPy150Open SpockBotMC/SpockBot/spockbot/vector.py/Vector3.__init__