You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter中如何让四元数类接收元组而非列表作为初始化参数?

解决四元数类支持元组传入的问题

可以分两种场景处理你的需求:

场景1:同时支持列表和元组传入(无需修改现有代码)

你当前的代码其实已经支持直接传入元组,因为元组和列表一样是可迭代对象,且支持len()方法。直接用以下方式调用即可:

Quaternion((1, 2, 3, 4))

运行效果和传入列表完全一致。

场景2:强制要求必须传入元组(拒绝列表等其他类型)

如果希望严格限制只能传入元组,需要在初始化方法中增加类型检查逻辑,修改后的代码如下:

class Quaternion(object):
    def __init__(self, elements):
        if not isinstance(elements, tuple):
            raise TypeError("Quaternion init vector must be a tuple.")
        if len(elements) != 4:
            raise ValueError("Quaternion init vector must be of length 4.")
        self.elements = elements

这样当传入列表时会直接抛出TypeError,只有传入元组才能完成初始化。

内容的提问来源于stack exchange,提问作者mmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:45:31