擅长:python、mysql、java
<p>由于无法区分调用u[x,y]和u[(x,y)],您应该将尝试定义的两个操作之一移到实际方法。你知道的,一些叫做u.slice()或u.range()或u.getslice()或u.getrange()之类的东西。在</p>
<p>实际上,在编写我的<em>自己的</em>程序时,我通常会发现,当我试图用两种截然不同的语义重载Python操作时,这意味着<strong>我正在做的这两件事都需要转换为命名方法!因为如果这两个操作在意义上非常相似,没有一个明显优于使用大括号[]getitem快捷方式,那么如果<strong>两个</strong>操作都得到真实、可读、显式的方法名,那么我的代码可能会更具可读性。在</p>
<p>但是,很难说更多,因为你没有告诉我们你到底是怎么陷入这种困境的。为什么你要同时在元组下存储东西,而在元组中获取范围呢?有人怀疑你在做一些复杂的事情。:-)</p>
<p>哦,还有其他语言有这个问题,让你说一个[1][2]做多维存取,很容易与a[1,2]区分开。只是让你知道还有另一个选择。在</p>