Skip to main content
 首页 » 编程设计

Python:是否可以向元组类添加新方法

2025年05月04日17mq0036

在Python中,是否可以向内置类添加新的方法,比如Tuple。我想添加 2 个新方法:first() 返回元组的第一个元素,second() 返回一个没有第一个元素的新元组。

例如:

x = (1, 2, 3) 
 
x.first()   # 1 
x.second()  # (2, 3) 

谢谢

请您参考如下方法:

是,但不要。

存在一个dark and dangerous forbiddenfruit不安全和危险地允许这样的事情。但这是一个黑暗的地方。

相反,您可以创建一个新类:

class MyTuple(tuple): 
    def first(self): 
        return self[0] 
 
    def second(self): 
        return self[1:] 
 
mt = MyTuple((1, 2, 3, 4)) 
 
mt.first() 
#>>> 1 
mt.second() 
#>>> (2, 3, 4) 

最好您可以创建一个实际的链表,不需要在每次调用时都进行复制。

最好不要这样做,因为几乎没有任何情况需要在 Python 中使用 self 实现或单链表。