Python 是否可以创建对任何序列都有效的方法
我只是好奇有没有可能在Python中创建可以处理任何序列的函数。例如:Python 是否可以创建对任何序列都有效的方法,python,monkeypatching,duck-typing,Python,Monkeypatching,Duck Typing,我只是好奇有没有可能在Python中创建可以处理任何序列的函数。例如: >>> def head(self): >>> return self[0] >>> >>> a = [1, 2, 3] >>> a.head() 1 >>> xrange(10).head() 0 不能扩展内置类型,否 您只能对它们进行子类化,但这只有在您完全控制创建和使用的情况下才有帮助。@Martin但
>>> def head(self):
>>> return self[0]
>>>
>>> a = [1, 2, 3]
>>> a.head()
1
>>> xrange(10).head()
0
不能扩展内置类型,否
您只能对它们进行子类化,但这只有在您完全控制创建和使用的情况下才有帮助。@Martin但是我如何调用此函数。我尝试了上面的代码,但出现了错误
“list”对象没有属性“head”
。我可以把它叫做头(a),但我想把它叫做列表方法。@RomanPekar:我一开始误解了你的问题;你不能扩展内置类型。是的,谢谢Martin,我会等待其他答案,然后接受你的答案。如果有人没有想出好的解决方法,为什么不直接编写head(seq)
而不是seq.head()
?@delnan我想知道是否可以使用方法语法